Перейти к публикации

Кто на Grip писал помогите!


Z-MAN

Рекомендованные сообщения

Каким образом можно удалить объеты на листе чертежа?

Пишу DELETE/ALL - удаляются объекты со всех листов. а надо бы, чтоб только с текущего.

Ссылка на сообщение
Поделиться на других сайтах


Если речь идёт об удалении объектов созданных в Modeling, это одни и те же объекты, несмотря на то, что в Drafting они отображаются на разных видах разных листов, поэтому результат выполнения DELETE/ALL вполне понятен. Если надо удалить с конкретного листа всё, можно удалить все виды:

VIEWD/'view name'[,IFERR,label:]

или весь лист:

DRAWD/'drawing name'[,IFERR,label:]

Ссылка на сообщение
Поделиться на других сайтах

Не плохо бы знать каким образом создаются объекты на чертеже. Если программно, то каждому объекту можно присвоить имя, которое пойдёт в его свойства и потом найти его по этому имени и удалить (причём разным объектам придать одно и то же имя)

Ссылка на сообщение
Поделиться на других сайтах

Объекты на листе создаются программно. Построение группы объектов может выполнятся как только лишь на первом листе, так и на втором, на третьем и т.д. При помощи этой же GRIP-программы можно изменить по выбору пользователя один набор объектов на другой. Для этого необходимо удалить ранее созданные объекты. Если в чертеже имеется только один лист команда DELETE/ALL работает превосходно. Однако, если в чертеже два или более листа эта команда удаляет объекты со всех листов. Вот если б можно было выбрать набор объектов только на текущем листе и их удалить, было бы оченно хорошо. :wallbash:

Ссылка на сообщение
Поделиться на других сайтах

Можно попробовать такой вариант. Для создаваемых объектов назначать аттрибут группы, в зависимости от номера листа, а потом удалять их по этому признаку.

Операторы для работы с группами:

obj = GROUP/obj list

GRPEDT/{ADD,{group object|group name|'groupname'}|REMOVE},obj list

UNGRP/[TOP,]obj list

Ссылка на сообщение
Поделиться на других сайтах

Спасибо. Это есть неплохой выход. А как получить номер текущего листа (или его название)?

Ссылка на сообщение
Поделиться на других сайтах

Большинство видимых объектов в файле (кривые, аннотация, тела и и т.д. ) имеют видозависимый статус (view dependend status) - или они принадлежат model - не видозависимы , или принадлежат виду (model view, drawing sheet, drawing member view) - видозависимы. Не путать с видозависимым редактированием (view dependend edit) - это разные вещи. Например, линия отрисованная на листе чертежа, или в expand drawing member view - видозависима. Т.е. надо перебирать базу файла (NEXT) в поисках видозависимых обектов (опрашивать их статус) и если они зависят от искомого листа чертежа - то запоминать в массив, потом удалять. Удалять при переборке нельзя. Я не помню, есть ли в GRIPe возможность опросить именно название вида для видозависимого объекта, а статус вроде как можно, - я очень давно не работал с GRIP. Такие вещи, как прямая работа с базой файла, наверное правильнее было-бы делать в Си (или там в Си++ и т.д.) - по сути поддержка GRIPa прекратилась еще на v10 - 11 UGII.

Ссылка на сообщение
Поделиться на других сайтах

ln=line/0,0,xmax,ymax

obj=group/ln

gr_name=&curdrw

&NAME(obj)=gr_name

Далее, используя NEXTE хочу из базы файла найти именно тот объект, который имеет имя gr_name. Подскажите как узнать что имя очередного объекта = gr_name.

Ссылка на сообщение
Поделиться на других сайтах

УРА! заработало.

Оцените:

string/gr_name(12)

entity/ln,obj

number/ymax,xmax,i,j

ENTITY/E(100)



gr_name=&curdrw

DO/A1:,j,1,1000000

E(j)=&ENAME(j,gr_name,IFERR,A2:)

A1:

A2:

j=j-1

IF/j==0,JUMP/A3:

DELETE/E(1..j)

A3:

drawv/,,,,ymax,xmax

ln=line/0,0,xmax,ymax

obj=group/ln

&NAME(obj)=gr_name

HALT
единственное не знаю как определить общее число обектов в файле, поэтому поставил мильён

DO/A1:,j,1,1000000
Ссылка на сообщение
Поделиться на других сайтах

никто не подскажет, как определить общее число объектов в файле?

Ссылка на сообщение
Поделиться на других сайтах

Ну... Можно зарядить например бесконечный цикл, а вываливаться из него по условию. Например:

$$$$$$$$$$$$$$$$$$$$

$$ START

L10:

.........

Тело цикла

.........

IFTHEN / $$ Условие выхода

.........

JUMP / L20: $$ Выход

ENDIF

JUMP / L10: $$ Бесконечный цикл

$$ END

L20:

$$$$$$$$$$$$$$$$

Только, если здесь gr_name - наименование чертежа ( и / или объекта), то (12) - не есть хорошо. По крайней мере если в Си имя [30+1] символов, то в GRIPe - 30. Надо в доках посмотреть, а то потом будут чудеса.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • WinoX
      Доброго времени суток.  После симуляции нет нормального отображения выбранного материала . Выборка вроде и отображается но визуально сложно читается (все однотонное), хотя во время симуляции все красиво. Ноутбук довольно стары по железу: i7 4800MQ, 16GB, видео AMD FirePro m6100 Пробовал разные драйвера, переустанавливать винду - все равно не отображается. На другой машине этаже сборка PM работает  Один скрин во время расчета ,а второй сразу после завершения <a href="https://ibb.co/bzkxdY2"><img src="https://i.ibb.co/bzkxdY2/image.png" alt="image" border="0"></a> <a href="https://ibb.co/sHFz7CX"><img src="https://i.ibb.co/sHFz7CX/2.png" alt="2" border="0"></a>
    • Иван Ларионов
      А где такая настройка? В окне операции "Зеркально отразить компоненты" -только выбор плоскости симметрии и собственно тела, симметричную копию которого надо получить. Да и в чём смысл такой настройки? В самой операции заложена необходимость симметрирования. Если нужно будет переставить на другую сторону от плоскости симметрии тот же компонент, то проще просто его установить со своими привязками. Вы намекаете, что операция симметрии в SW толком не работает?
    • evgw
      Попытался я рассчитать коническую передачу с круговыми зубьями с формой зуба 2 по ГОСТ 19326-73. Оси пересекаются под прямым углом, у колеса 55 зубов, у шестеренки - 12. Ширина венца - 50мм. Взял внешний окружной модуль 6. Получил по расчетам из ГОСТа средний окружной модуль 4. Потом посчитал углы конуса впадин и они сильно отличаются от того, что получается при расчете модуля зубьев. Если я нарисую зуб с внешним модулем 6 и проведу конус впадин под углом 10,47 градуса, например у меня получилось для шестерни, то по середине зуб получится очень высоким, т.е. там где-то больше 5 будет модуль. Где ошибка? Как сделать, чтобы конус впадин и высота зуба в среднем сечении сошлись? Может ГОСТ неправильный?
    • Guhl
      Ну и поставьте частотник вместо пускателя Это хорошо поможет в диагностике Потом, как почините, вернёте контакторы Таймерами скорость мотора не уменьшите
    • Guhl
    • andrey2147
    • Guhl
      Cancel - отмена (англ.) Start - пуск (англ.)
    • brigval
      Раньше ставили. Только значков шероховатости было два, сверху и снизу. И они наносились не на горизонтальную полку, а на наклонную линию выноску. Это означало, что лист с обеих сторон без обработки. в состоянии  поставки. Всем было понятно и вопросов не возникало.
    • alexncr
      Мотор крутится от пускателя, без частотника Есть таймеры в ледере, но не пойму где они задаются 
    • Guhl
      Попробуйте замедлить руку. Если мотор, то частотником, если гидравлика/пневматика, то дросселями и тп
×
×
  • Создать...