|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Логическая ошибка условия в цикле while.
(<= use_l base_l) - как бы все правильно, текущая длина меньше всей длины, но потом в цикле (setq use_l (+ use_l (+ (* sl_ch (- k2 k1)) k1))) - длину увеличиваем, и она становится больше длины полилинии. Выражение (vlax-curve-getPointAtDist pln use_l) выдает nil => ошибка. А надо сделать типа такого: Код:
|
||||
![]() |
|
||||
Регистрация: 25.10.2010
Сообщений: 27
|
Обращаюсь к Вам со своим вопросом.
Создал я блок динамический, назвал его ZD_001_001. Сам dwg файл назвал ZD_01_01. Вставляю вот так вот, предварительно прописав путь: Код:
[IMG]http://s42.***********/i095/1202/03/f2c0a3d3e499.jpg[/IMG] Вопрос такой. Как мне сделать(мб как-то по другому путь прописать) чтобы вставлялся динамический блок? ![]() |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
После того как ты вставишь файл как блок у тебя в документе появяться описания всех включенных в этот файл блоков, вот их потом и вставляй, вытянуть отдельное описание блока из файла тоже конечно можно, но здесь потребуется код гораздо более продвинутого уровня нежели у тебя (можешь обратиться в поиск по вопросу "работа с неактивным документом").
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Цитата:
Это тоже можно сделать! Открываешь файл и запускаешь редактирование блоков. У тебя появляется окно, где в столбик написаны все блоки и на самом верху строка - этот файл. При выборе этой строки, можно из всего файла сделать динамический блок. Единственное неудобство - для тестирования необходимо вставлять этот файл в другой... Удачи! ![]()
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Регистрация: 25.10.2010
Сообщений: 27
|
Я ищу способ доступиться к динамическому блоку, который у меня уже создан. Прочитал в книге "САПР на базе AutoCAD", что надо бы создать имитацию вставки, потом прервать ее - блок оказывается внедрен со всеми сложениями, в том числе и с нужным мне, а потом можно и доступиться до него. Но вот что-то у меня реализация хромает
![]() Код:
|
|||
![]() |
|
||||
Конструктор Регистрация: 04.04.2007
Киев
Сообщений: 536
|
Возникла идея такого вот лиспа, думаю, многим мог бы сгодиться:
а. Вызывается команда (типа команды печати); б. В модели рамкой выбирается область печати; в. По заданному шаблону создаётся новый Лист с ВЭ в которую вписывается выбранная ОП; г. Рамка выбранной ОП остаётся в ПМ, ложась на непечатный слой. |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Здравствуйте.
Подскажите плз создание правильно лисп кода, а именно необходимо чтоб в коде вызывался слой "0", потом я пишу команды построения для этого слоя. Далее вызывался другой слой (допустим "поп"), и прописываю другие команды для уже нового слоя. спс. |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
Вариант 1 Код:
Использовать функцию entmake и (или) entmakex, тогда и слой не надо будет переключать, можно сразу рисовать на нужном слое. Например, рисуем текст на слое "1" и неважно какой сейчас слой установлен и если слоя "1" он будет автоматически создан Код:
__________________
cadtools |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
|
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
Код:
__________________
cadtools |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Подскажите плз.
Пример: dcl :edit_box {label="Введите шифр:"; key="shps"; edit_width=12; edit_limit=24;} lsp (action_tile "shps" "(setq shp (atof $value))") ... (setq x_p (+ (+ x0 width) 12.)) (setq y_p (+ (+ y0 height) 12.)) (setq pt (list x_p y_p)) (setq ang 0) (setq h 3.4) (vl-cmdf "_.text" "_j" "_m" pt h ang shp) Вопрос: Когда я ввожу по диалоговому окну шифр (пример: 10-11-25), то текст выводится на чертеже 10.00000000. Само значение shp получается после обработки dcl 10.00000, а не 10-11-25. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
А почему используется atof?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
После Вашей замены, выдается сообщение:
Ошибка приложения: В команду послан неверный тип и построения текста нет. Подскажите в чем дело? При моей вставке замены - вычерчивание текста происходит. Я понимаю, что Вы хотите правильно прописать действие. Я просто подобрал команду. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
В ващем диалоге должен быть элемент ok_cancel, тогда при нажатии Ок будет считываться значение поля shps А при нажатии Отмена можно просто закрывать диалог и выходить из программы
посмотрте еще раз на код, я добавил done_dialog... просто писал не глядя |
|||
![]() |
|
||||
Есть жилая застройка, отрисованная в автокаде. Пятна застройки были отрисованы полилиниями. Сейчас все полилинии расчленены. Мне нужно снова отрезки объёдинить в полилинии.
Руками выделяем отрезок, преобразовываем в полилинию, добавляем отрезки, объединяем в полилинию. Получился вот такой код. Код:
![]() Во-первых каждый раз выделяю всё. Во-вторых перебираю отрезки, которые уже попали в какую-либо полилинию (например в доме минимум четыре отрезка, после объёдинения в полилинию три остальных уже перебирать не надо) Последний раз редактировалось baaba, 06.03.2012 в 15:27. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Из выступлений Евгения Елпанова на форумах Autodesk:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |