отрисоввка прарметрической 3D модели - Страница 2
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > отрисоввка прарметрической 3D модели

отрисоввка прарметрической 3D модели

Ответ
Поиск в этой теме
Непрочитано 11.05.2008, 10:53
отрисоввка прарметрической 3D модели
bv7
 
инженер ОПС
 
Березники
Регистрация: 10.05.2008
Сообщений: 13

Доброе все мвремя суток. Гуру, нажна ваша консультация, преподавательница сказала написать программу по отрисовке объекта, до этого АС и Лисп вообще не учил. Лисп нам преподавали в течение 16 часов с перерывами между парами. Пересказали ведение из учебника пару раз, рассказали про функции, штук пять, при этом про некоторые атрибуты функций отозвались, "нафига они вообще непонятно" выдали чертежи и сказали пЕшыте.
Вот кусок кода который задаёт координаты точек, по ним в дальнейшем строится линия. Тока я чёт не то делаю потому что лисп ругется и ни чего рисовать не хотит.
Код:
[Выделить все]
(defun 3D()
(GetReal ("введи диаметр d = "))
(GetInt (Введи кол-во зубцов "z = "))
(GetInt (Введи шаг зубца "а = "))
(setq рt0(0, 0))
(setq р1(* 3 d))
(setq pt1(pt0, p1))
(setq р2(* 0.5 d))
(setq pt2(pt, p2))
(setq р3(* 2 d))
(setq pt3(pt2, p3))
(command "_line" pt0,pt1,pt2,pt3)
)
В итоге программа должна запросить у пользователя цифры, и на их остновании нарисовать объект, затем повернуть обект вокруг оси на 360 градусов, чтобы получить 3D, Предусмотреть тонирование и зуммирование детали.

Вложения
Тип файла: dwg
DWG 2004
Рисунок1.dwg (44.4 Кб, 1251 просмотров)


Последний раз редактировалось bv7, 12.05.2008 в 20:44. Причина: замена вложения
Просмотров: 8409
 
Непрочитано 15.05.2008, 23:05
#21
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426


А если (без анализа кода) заменить строку
Код:
[Выделить все]
(command "_line" pt1 pt2 pt3 pt4 pt5 "_C")
на
Код:
[Выделить все]
(command "_line" "_none" pt1 "_none" pt2 "_none" pt3 "_none" pt4 "_none" pt5 "_C")
Чего получится? Ну и _.fillet аналогичным образом...
И потом, в указанном коде никак не участвуют ни b, ни h. Так и задумано или как?
И еще один момент, что называется, "от греха": все переменные сделать локальными я бы порекомендовал.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.05.2008, 08:18
#22
Ju1iya

Студентка
 
Регистрация: 15.05.2008
Сообщений: 9


Как я поняла, с помошью "_none" создаются отдельные отрезки, а не один как раньше было у меня. Но "_.fillet" так и не работает
Код:
[Выделить все]
(defun c:auto ()
 (progn
     (setq b (getint "\nВведите длинну: "))
     (setq h (getint "\nВведите ширину: "))
     (setq r 0.50)
     (setq pt1 '(0 100))
     (setq pt2 '(0 125))
     (setq pt3 '(40 125))
     (setq pt4 '(40 15))
     (setq pt5 '(90 15))
     (command "_line" "_none" pt1 "_none" pt2 "_none" pt3 "_none" pt4 "_none" pt5 "_C")
     (setvar "FILLETRAD" r)
     (command "_.fillet" pt4 pt5)
 )
)
И насколько я понимаю пользваться (setq pt2 '(0 125)), ..., не совсем правильно, а если точнее совсем не правильно. А b и h написала для будещего - по ним задаётся длинна и ширина фигуры, можете посмотреть в приложенном файле.
Ju1iya вне форума  
 
Непрочитано 16.05.2008, 10:36
#23
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Поняла ты не правильно, с помощью none отключаються привязки, а _fillet'ом надо не точки (как у тебя), а отрезки указывать. Вместо (setq pt '(0 100)) писать (setq pt (list x y)) где х и y предварительно подсчитанные значения координат по соответствующим осям.
P.S. (setq a b) (setq c d) ... можно заменить (setq a b c d), а вообще либо найди книжку по лисп, либо участника форума с твоего города, и всей группой ему на ящик пива сбрасывайтесь.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 16.05.2008, 10:41
#24
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 310


>> Ju1iya
Если попробовать вот так:
Код:
[Выделить все]
(defun c:auto (/ p_snapmode p_blipmode p_osmode)
 (setq p_snapmode (getvar "SNAPMODE")
       p_blipmode (getvar "BLIPMODE")
       p_osmode (getvar "OSMODE")
 )
 (setvar "SNAPMODE" 0)
 (setvar "BLIPMODE" 0)
 (setvar "OSMODE" 0)


     (setq b (getint "\nВведите длинну: "))
     (setq h (getint "\nВведите ширину: "))
     (setq r 0.50)
     (setq pt1 '(0 100))
     (setq pt2 '(0 125))
     (setq pt3 '(40 125))
     (setq pt4 '(40 15))
     (setq pt5 '(90 15))
     (command "_line" pt1 pt2 pt3 pt4 pt5 "_C")
     (setvar "FILLETRAD" r)
     (command "_.fillet" pt4 pt5)


 (setvar "SNAPMODE" p_snapmode)
 (setvar "BLIPMODE" p_blipmode)
 (setvar "OSMODE" p_osmode)
)
Что получится?
Хоть и не в AutoCADе проверял, но работает. Fillet действует на последний отрезок, приблизьте участок в координатах (90 , 15). Теперь нужно вычислить точки на двух сопрягаемых линиях примерно в 1 ед. от точки угла. Да и радиус скругления мелковат (может так и должно быть). Кстати, если делать эту фигуру полилинией, можно скруглить сразу все углы.

>> Дима_
А не все ли равно: (setq pt '(0 100)) или (setq pt (list x y)), это одно и тоже. Вот только если XY задаются где-то отдельно, тогда да.

Последний раз редактировалось Олег К., 16.05.2008 в 11:21.
Олег К. вне форума  
 
Непрочитано 16.05.2008, 11:22
#25
Ju1iya

Студентка
 
Регистрация: 15.05.2008
Сообщений: 9


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Поняла ты не правильно, с помощью none отключаються привязки, а _fillet'ом надо не точки (как у тебя), а отрезки указывать. Вместо (setq pt '(0 100)) писать (setq pt (list x y)) где х и y предварительно подсчитанные значения координат по соответствующим осям.
P.S. (setq a b) (setq c d) ... можно заменить (setq a b c d), а вообще либо найди книжку по лисп, либо участника форума с твоего города, и всей группой ему на ящик пива сбрасывайтесь.

Кто хоть немного бы разберался в AutoLisp, я никого не знаю в нашем городе - даже знакомых у знакомых нет. Вся надежда только на вашу помошь... Переделала код, как ты посоветовал:
Код:
[Выделить все]
(defun c:auto ()
 (progn
     (setq b (getint "\nВведите длинну: "))
     (setq h (getint "\nВведите ширину: "))
     (setq r 0.50)
     (setq pt1 (list 0 100) pt2 (list 0 125) pt3 (list 40 125) pt4 (list 40 15) pt5 (list 90 15))
     (command "_line" "_none" pt1 "_none" pt2 "_none" pt3 "_none" pt4 "_none" pt5 "_C")
     (setvar "FILLETRAD" r)
     (command "_.fillet" pt4 pt5)
 )
)
Но связка так и не работает. В чём проблемма понять не могу
Ju1iya вне форума  
 
Непрочитано 16.05.2008, 11:27
#26
Ju1iya

Студентка
 
Регистрация: 15.05.2008
Сообщений: 9


Цитата:
Сообщение от Олег К. Посмотреть сообщение
>> Ju1iya
Если попробовать вот так:
Код:
[Выделить все]
(defun c:auto (/ p_snapmode p_blipmode p_osmode)
 (setq p_snapmode (getvar "SNAPMODE")
       p_blipmode (getvar "BLIPMODE")
       p_osmode (getvar "OSMODE")
 )
 (setvar "SNAPMODE" 0)
 (setvar "BLIPMODE" 0)
 (setvar "OSMODE" 0)


     (setq b (getint "\nВведите длинну: "))
     (setq h (getint "\nВведите ширину: "))
     (setq r 0.50)
     (setq pt1 '(0 100))
     (setq pt2 '(0 125))
     (setq pt3 '(40 125))
     (setq pt4 '(40 15))
     (setq pt5 '(90 15))
     (command "_line" pt1 pt2 pt3 pt4 pt5 "_C")
     (setvar "FILLETRAD" r)
     (command "_.fillet" pt4 pt5)


 (setvar "SNAPMODE" p_snapmode)
 (setvar "BLIPMODE" p_blipmode)
 (setvar "OSMODE" p_osmode)
)
Что получится?
Хоть и не в AutoCADе проверял, но работает. Fillet действует на последний отрезок, приблизьте участок в координатах (90 , 15). Теперь нужно вычислить точки на двух сопрягаемых линиях примерно в 1 ед. от точки угла. Да и радиус скругления мелковат (может так и должно быть). Кстати, если делать эту фигуру полилинией, можно скруглить сразу все углы.

>> Дима_
А не все ли равно: (setq pt '(0 100)) или (setq pt (list x y)), это одно и тоже. Вот только если XY задаются где-то отдельно, тогда да.
Попробвала твой код, но ничего не изменилось, что означают:
(setq p_snapmode (getvar "SNAPMODE")
p_blipmode (getvar "BLIPMODE")
p_osmode (getvar "OSMODE")
и что они задают?
Ju1iya вне форума  
 
Непрочитано 16.05.2008, 13:57
#27
Ju1iya

Студентка
 
Регистрация: 15.05.2008
Сообщений: 9


>>Олег К. Да, участок в координатах (90 , 15) стал округлым, но надо чтобы был участок между (40 125) и (40 15) - ставлю (command "_.fillet" pt3 pt4) и "_.fillet" уже не срабатывает.
Ju1iya вне форума  
 
Непрочитано 16.05.2008, 14:00
#28
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


На приложеном чертеже не нашел 2-х параметров, придумал их сам (см. рисунок), ну и сам код - если не првильный подправлять не буду - сами разирайтесь, не разберетесь пиши поясню.
Код:
[Выделить все]
(defun c:auto ( / n obj obj1 b h pln pln1 spr)
(setvar "filletrad" 5);радиус
(setq
n 0
b (getreal "Введите параметр B ")
h (getreal "Введите параметр H ")
pln (list '(0 0)); начальная точка - pt0
pln (append pln (list (list 0 (* 2.0 b)))); pt1
pln (append pln (list (list (* 4.0 b) (* 2.0 b))));pt2
pln (append pln (list (list (* 4.0 b) (* -8.0 b))));pt3
pln (append pln (list (list (* 7.0 b) (* -8.0 b))));pt4
pln (append pln (list (list (* 7.0 b) (* -5.0 b))));pt5
pln (append pln (list (list (* 12.0 b) (* -5.0 b))));pt6
pln (append pln (list (list (* 12.0 b) (* -8.0 b))));pt7
pln (append pln (list (list (* 9.0 b) (* -8.0 b))));pt8
pln (append pln (list (list (* 9.0 b) (* -6.5 b))));pt9
pln (append pln (list (list (* 8.0 b) (* -6.5 b))));pt10
pln (append pln (list (list (* 8.0 b) (* -9.5 b))));pt11
pln (append pln (list (list (* 3.0 b) (* -9.5 b))));pt12
pln (append pln (list (list (* 3.0 b) (* 0.5 b))));pt13
pln (append pln (list (list b (* 0.5 b))));pt14
pln (append pln (list (list b 0)));pt15

pln1 (list (list (- (* 10.5 b) (* (sqrt 2) (* 0.5 b))) (* -6.5 b))); pt0
pln1 (append pln1 (list (list (* 10.5 b) (+ (* -6.5 b) (* (sqrt 2) (* 0.5 b))))));pt1
pln1 (append pln1 (list (list (+ (* 10.5 b) (* (sqrt 2) (* 0.5 b))) (* -6.5 b))));pt2
pln1 (append pln1 (list (list (* 10.5 b) (- (* -6.5 b) (* (sqrt 2) (* 0.5 b))))));pt3

spr (list
(nth 3 pln)
(nth 4 pln)
(nth 5 pln)
(nth 6 pln)
(nth 7 pln)
(nth 8 pln)
(nth 9 pln)
(nth 10 pln)
(nth 13 pln)
(nth 14 pln)
);сопрягаемые точки

obj (pl pln); создаем большой контур
obj1 (pl pln1); создаем малый
);end of setq

(repeat (length spr) (fil (nth n spr) (/ b 5.0)) (setq n (1+ n))); создает сопряжения.

(command "_region" obj "")
(setq obj (entlast))
(command "_region" obj1 "")
(setq obj1 (entlast)); создает области

(command "_subtract" obj "" obj1 "");вычитает области друг из друга
(command "_extrude" obj "" h); создает 3д тело
);end of auto

(defun fil ( pt x / ); создает сопряжение в точке pt
(command "_fillet"
(list (+ (car pt) x) (cadr pt))
(list (- (car pt) x) (cadr pt)) 
(list (car pt) (+ (cadr pt) x))   
(list (car pt) (- (cadr pt) x))   
);end of command 
);end of fil

(defun pl (obj / ed n tmp); создает полилинию по списку вершин obj.
(setq
ed (list (cons 0 "LWPOLYLINE")
(cons 100 "AcDbEntity")
(cons 100 "AcDbPolyline")
(cons 90 (length obj))
(cons 70 1));end of list
n 0
tmp (nth n obj)
);end of setq
(while (/= tmp nil)
(setq
ed (append ed (list (append (list 10) (nth n obj))))
n (1+ n)
tmp (nth n obj)
);end setq 
);end of while
(entmakex ed)
);end of defun
P.S. Чтобы увидеть что "оно трехменое" команда 3dorbit.
Миниатюры
Нажмите на изображение для увеличения
Название: auto.jpg
Просмотров: 76
Размер:	13.9 Кб
ID:	6483  
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 16.05.2008 в 14:10.
Дима_ вне форума  
 
Непрочитано 16.05.2008, 14:13
#29
Ju1iya

Студентка
 
Регистрация: 15.05.2008
Сообщений: 9


>>Дима_
Огромное спасибо за проделаную работу и помошь , ушла переваривать код...
Ju1iya вне форума  
 
Непрочитано 16.05.2008, 14:45
#30
Ju1iya

Студентка
 
Регистрация: 15.05.2008
Сообщений: 9


>Дима_
Объясни пожалуйста, почему у меня при выполнении твоего кода, не срабатает сопряжение? А пишет:
_fillet
*Неверный выбор*
Требуется точка или Рамка/Последний/Секрамка/БОКС/Линия/РМн-угол/СМн-угол
; ошибка: Функция отменена
И просит выбрать 1-й объект. Мне вроде говорили, что полилинии не сопрягаются - так ли это? А при выполнении 3dorbit фигура всё равно отображается двумерной?
Ju1iya вне форума  
 
Непрочитано 16.05.2008, 14:57
#31
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


попробуй при запуске поменять масштаб (колесом мыши впиши квадрат где-то 100 на 100, с учетом параметра b около 10), наверное виной командный режим с которым "_fillet" плохо работает, по хорошему надо сопрягать на dxf уровне, но мне сейчас влом, 3д не показывает поскольку выполнение команды прерываеться, и у тебя остаеться только плоский рисунок. Чтобы убедиться поставь перед строкой
;(repeat (length spr) (fil (nth n spr) (/ b 5.0)) (setq n (1+ n))); создает сопряжения.
создаст, но без сопряжения - но кстати у меня в 2008 все работает.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 16.05.2008, 15:17
#32
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 310


Ага, вот тут-то мы и узнаем, что автокад русифицированный . Если это вообще AutoCAD.
Возможно после команды _fillet требуется указать рамкой или секрамкой будут выделяться объекты (по коду указывается 2 точки на объект). У меня аналогичная ситуация в ZWCADе - программно 4 точки не понимает, а выбор секрамкой с мышки возможен.

>> Ju1iya
Системные переменные SNAPMODE, BLIPMODE, OSMODE отвечают за ручки выбора и привязки объектов. Подробнее можно посмотреть в хелпе. При работе командными методами желательно устанавливать им значение "0". На этом форуме было несколько тем с подробным объяснением - зачем.
Также команды не всегда могут работать вне видимой части экрана.

Добавлю еще: если точно известны места скругления и радиус, может проще создать полилинию уже со скруглениями, а не мучиться с filletom?
Олег К. вне форума  
 
Непрочитано 16.05.2008, 15:24
#33
Ju1iya

Студентка
 
Регистрация: 15.05.2008
Сообщений: 9


Цитата:
Сообщение от Дима_ Посмотреть сообщение
попробуй при запуске поменять масштаб (колесом мыши впиши квадрат где-то 100 на 100, с учетом параметра b около 10), наверное виной командный режим с которым "_fillet" плохо работает, по хорошему надо сопрягать на dxf уровне, но мне сейчас влом, 3д не показывает поскольку выполнение команды прерываеться, и у тебя остаеться только плоский рисунок. Чтобы убедиться поставь перед строкой
;(repeat (length spr) (fil (nth n spr) (/ b 5.0)) (setq n (1+ n))); создает сопряжения.
создаст, но без сопряжения - но кстати у меня в 2008 все работает.
Если закоментировать ;(repeat (length spr) (fil (nth n spr) (/ b 5.0)) (setq n (1+ n))); то всё работает, но не сопрягается, а как сделать сопряжение? У меня установлен AutoCad 2006 Rus - при масштабировании ничего не меняется.
Ju1iya вне форума  
 
Непрочитано 16.05.2008, 15:26
#34
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Вобще проще всего наверное сделать автоматическую подгонку масштаба вписать перед сопряжением:
(command "_.zoom" "_o" obj "")
(repeat (length spr) (fil (nth n spr) (/ b 5.0)) (setq n (1+ n))); создает сопряжения.
Ну а правильней всего кочно полилинию с закруглениями сразу создавать.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 16.05.2008, 15:27
#35
Ju1iya

Студентка
 
Регистрация: 15.05.2008
Сообщений: 9


>> Олег К.
Места скругления известны, а радиус на мой выбор, как это реализовать? Да АвтоКад русский.
Ju1iya вне форума  
 
Непрочитано 16.05.2008, 16:01
#36
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 310


>> Ju1iya
Допустим, есть вот такая полилиния:
Код:
[Выделить все]
Command: pl
ENTER to use last point/Follow/<Start of polyline>: 0,0 {pt1}
Current Lineweight: 0.00
Arc/Distance/Follow/Halfwidth/Width/<Next point>: 100,0 {pt2}
Arc/Distance/Follow/Halfwidth/Width/Undo/<Next point>: 100,100 {pt3}
Arc/Close/Distance/Follow/Halfwidth/Width/Undo/<Next point>: 
Command:
Необходимо в угле сделать скругление радиусом 20. Если радиус известен до рисования полилинии, можно сделать следующее:
Код:
[Выделить все]
Command: pl
ENTER to use last point/Follow/<Start of polyline>: 0,0 {pt1}
Current Lineweight: 0.00
Arc/Distance/Follow/Halfwidth/Width/<Next point>: 80,0 {pt2_1}
Arc/Distance/Follow/Halfwidth/Width/Undo/<Next point>: _a
Angle/CEnter/CLose/Direction/Halfwidth/Line/Radius/Secondpt/Width/Undo/<End of arc>: _r
Radius: 20
Angle/<End of arc>: 100,20 {pt2_2}
Angle/CEnter/CLose/Direction/Halfwidth/Line/Radius/Secondpt/Width/Undo/<End of arc>: _l
Arc/Close/Distance/Follow/Halfwidth/Width/Undo/<Next point>: 100,100 {pt3}
Arc/Close/Distance/Follow/Halfwidth/Width/Undo/<Next point>: 
Command:
Точки pt2_1 и pt2_2 легко вычисляются математически. Если линии под углом к осям координат - чуть сложнее. Обратите внимание, что следующую точку дуги можно задать не только координатами, но и углом.
Олег К. вне форума  
 
Непрочитано 16.05.2008, 16:18
#37
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 310


Далее.
В программе заданы точки и радиус:
(setq pt1 '(0 0) pt2 '(100 0) pt3 '(100 100) r1 20.0)
Создаем полилинию по этим условиям:
Код:
[Выделить все]
(vl-cmdf "_.pline" pt1 (list (- (car pt2) r1) 0) "_a" "_r" r1 (list 100 (+ (cadr pt2) r1)) "_l" pt3 "")
Функция vl-cmdf аналогична Command, но с некоторыми отличиями. Функции car и cadr - взятие первого и второго элемента списка. Подробнее: в автокаде Tools>Visual Lisp Editor ... Help. (ну это я уже шутю )
Это когда координаты и радиус задаются в процессе выполнения программы. Если известны заранее - нефиг копаться: рисуем руками линии, скругляем где надо, узнаем координаты точек и забиваем их в программу.

По-хорошему, такое надо создавать объектными методами (например через entmake), но это уже следующий уровень обучения.

Последний раз редактировалось Олег К., 16.05.2008 в 16:32.
Олег К. вне форума  
 
Автор темы   Непрочитано 16.05.2008, 19:00
#38
bv7

инженер ОПС
 
Регистрация: 10.05.2008
Березники
Сообщений: 13
<phrase 1=


Когда я сегодня спросил про пример в автокаде про построение садовой дорожки, преподавательница мне ответила, типа пример ужасный и вообще не понимаю зачем столько кода писать когда можно обойтись командами автокада. Ну, а про то что, команды автокада работают медленно и есть другие способы отрисовки моделей мне так и не дали ответа. Теперь от всех скрываю, что задание выполнено, код разбираю.
Вопрос где найти параметры команд типа "_L"
"_g" "_all" ну и тому подобные.

>> Ju1iya на пиво скидываться всей группой не надо, я ещё со своим примером не разобрался.
__________________
Жизнь хороша, если правильно подобрать антидепрессанты.
bv7 вне форума  
 
Автор темы   Непрочитано 17.05.2008, 20:01
#39
bv7

инженер ОПС
 
Регистрация: 10.05.2008
Березники
Сообщений: 13
<phrase 1=


что означает эта строка
Код:
[Выделить все]
((lambda (/ res)
__________________
Жизнь хороша, если правильно подобрать антидепрессанты.
bv7 вне форума  
 
Автор темы   Непрочитано 21.05.2008, 16:37
#40
bv7

инженер ОПС
 
Регистрация: 10.05.2008
Березники
Сообщений: 13
<phrase 1=


больше всего конечно интересует это
Код:
__________________
Жизнь хороша, если правильно подобрать антидепрессанты.
bv7 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > отрисоввка прарметрической 3D модели

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Восстановление первоначального вида модели после 3d Orbit в sasha_lif AutoCAD 6 18.06.2008 22:44
AA2008: Как создать план 3d модели на определенной отметке Vildar Вертикальные решения на базе AutoCAD 6 12.02.2008 12:52
Подготовка рабочих чертежей по 3D модели constructorl AutoCAD 21 07.02.2007 19:50
2D чертежи из 3D модели. Как? Karales AutoCAD 1 16.10.2006 18:29
3d модели на плоскости Teplinski AutoCAD 3 26.05.2006 09:29