|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833
|
Лично я остерегаюсь использовать LwDefault где бы то ни было... Слишком высока вероятность, что найдется местный кулибин, который установит значение в 211 системной переменной и все построения накроются медным тазом. Дырявым.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833
|
Есть 3 варианта.
1. Отрисовывать, постоянно добавляя примитивы в SelectionSet, а затем через комаду _.-block преобразовать отрисованные примитивы в блок. 2. Через entmakex создать начало описания блока; через entmakex, например, создавать примитивы; не забыть создать описание "окончания" блока. См.в справке описание BLOCK. 3. Использовать ActiveX-методы создания блока и добавлять примитивы "прямо в описание блока".
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833
|
Я (если честно) предпочитаю именно последний
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 25.07.2007
Сообщений: 2,508
|
пишу- (Command "_.-block" "Переход" pt1 SS ""). Вроде все ок, блок создается...и потом пропадает. не вставляется сразу. Если добавить Insert, то рисуется сам переход и еще блок перехода. Причем если второй раз рисовать другой переход, то требует переопределения блока. кароче муть какая то получается
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833
|
Особенность лиспового вызова _.block: после создания блока все примитивы "исчезают" и надо блок принудительно вставлять.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833
|
Там все просто до невозможности
http://www.cad.dp.ua/stats/vla_doc.php
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Рyslan, Алексей правильно написал - "до невозможности". Вообще-то проще только command. Удобна инженерам - они знают команды, знают опции и могут легко применить. Именно функция command сделала программирование в AutoCAD доступным "простым инженерам" - они разработали десятки тысяч больших и маленьких программ.
ActiveX удобен тем, что используются осмысленные имена методов и свойств. Третий метод - через entmake неудобен тем, что надо знать "человекобессмысленные" DXF-коды. Но есть ещё лучший способ - разделение труда. Сложные функции делают "низкоуровневые" программисты и помещают их в библиотеки. А "прикладные" программисты или простые инженеры используют их результаты для создания конечных программ. Например, программа для рисования отвода заключается в таком случае в 1 строчку: Вот крутоизогнутый отвод в 2D - то, что ты делаешь: Код:
А вот вариант, когда тебе надо рисовать отвод от угла поворота трассы (часто так и надо): Код:
Код:
Код:
И задвижку, да ещё в 3D не сложнее заставить моделироваться: Код:
И всё это ты когда-то сможешь сам! |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Рyslan, все коды, кроме 3D, опубликованы в книге "САПР на базе AutoCAD - как это делается". И приложены на CD.
Уже ссылался на неё. ты писал "листаю". Читать надо. Изучать. Ответы на все твои вопросы там есть, в том числе в виде готового кода, даже набирать не нужно. Здесь публиковать нет возможности, так как любая функция вызывает десяток-другой других, низкоуровневых библиотечных функций. Именно это позволяет делать короткие прикладные программы - в одну строчку. |
|||
|
||||
Регистрация: 25.07.2007
Сообщений: 2,508
|
в книге написано: "Функция getpoint дает возможность пользователю ввести точку с помощью клавиатуры или мыши. Если задан аргумент <точка1>, то при вводе точки с помощью мыши рисуется резиновая нить, начинающаяся в точке, заданной аргументом <точка1>"
странно, а вот резиновая нить то и не рисуется |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833
|
Специально проверил - все отображается (настройки по умолчанию; цвет курсора - стандартный и не меняется в зависимости от цвета рабочего слоя). AA2008Eng+SP1, запущенный как AutoCAD 2008
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
К посту 231.
Уважаемый ShaggyDoc. Для меня почему-то оказались более понятными "человекобессмыссленные" DXF-коды, чем ActiveX. Не лезут в голову эти vl-vla-vlax-реновые функции, хоть тресни. Посоветуйте пожалуйста литературу "для чайников" по этому вопросу. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
E-degtyarev, литература практически единственная - Н.Полещук, П.Лоскутов - "AutoLISP и Visual LISP в среде AutoCAD". Там всё подробно.
А "не лезущие" функции как раз просты - надо только понять объектную модель и принцип формирования имен. В этом поможет acadauto.chm |
|||
|
||||
Регистрация: 25.07.2007
Сообщений: 2,508
|
Кто хочет написать программу диалоговых окон для имеющих лиспов элементов деталей трубопроводов, по аналогу проката Василия Кондрата? Будет неплохое подспорье для трубопроводчиков
ясно, никто не хочет. как пофлудить так все тут как тут, как лисп написать для непойми чего так пожалуйста..... Последний раз редактировалось Рyslan, 31.07.2009 в 16:11. |
|||