Тема: DXF коды для 3D-solid
Что значат DXF коды для 3D-solid. Программу Полещука пробовал, но результат не ясен, а именно как выбрать или изменить координаты вершин тела и можно ли вообще это сделать функциями entget и entmode.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → LISP → DXF коды для 3D-solid
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Что значат DXF коды для 3D-solid. Программу Полещука пробовал, но результат не ясен, а именно как выбрать или изменить координаты вершин тела и можно ли вообще это сделать функциями entget и entmode.
Программу Полещука пробовал, но результат не ясен
А ты попробуй с помощью (entget (car (entsel)))
выбрать 3dsolid.
И станет всё ясно.
Изменить не возможно.
Можно создать на основе всего списка dxf-кодов 3dsolid'а новый объект, предварительно изменив dxf-коды.
А что за программа Полещука???
Вообще в DXF кодах тел (точнее ACIS кодах) содержится полное описание геометрии тела, изменять её - можно, но довольно геморойное это занятие, ещё сложнее создавать эти данные с нуля, зато считывать информацию очень даже можно и полезно. Пробламм правда очень много:
1) Надо кодировать (самое простое),
2) Все данные в виде текста,
3) реальной Справочной литературы, по этим данным нигде нет (личное мнение),
4) все элементы тела - иерархическая, тесно связанная структура, т.е. изменив координату одной вершины, придётся изменить данные всех связанных с ней граней и плоскостей (в основном векторы),
Это вас не пугает?
Схемку, позволяющую понять, как строится описание 3DSolid'а, можно найти, скачав ObjectARX download (utils/amodeler/docs).
Евгению А. Программа примерно такого вида
(setq ae (entlast))
(setq wle (entget ae))
(setq wl1e
(mapcar 'cdr (vl-remove-if-not
(function (lambda (w) (= 1 (car w))))
wle)))
(while wl1e
(setq wstr (car wl1e))
(setq wl1 (vl-string->list wstr))
(setq wl2
(mapcar
'(lambda (w)
(setq w (if (= w 32) 32 (boole 6 w 95)))
(if (< w 32) (setq w (+ w 64)) w)
)
wl1
)
)
(setq wltemp
(append wltemp (list (vl-list->string wl2))))
(setq wl1e (cdr wl1e))
)
(print "hg")
(print wltem
А где можно сачать ObjectARX download (utils/amodeler/docs).
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → LISP → DXF коды для 3D-solid
Форум работает на PunBB, при поддержке Informer Technologies, Inc