|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
03.10.2012, 11:38 | #1 | |
Как при пересечении двух линий сделать установку нужного блока в месте пересечения
Регистрация: 21.08.2012
Сообщений: 42
|
||
Просмотров: 12846
|
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Набросал без проверок и пр:
Код:
где pln - ename указатель на полилинию, XXX радиус дуги (если обводить) или имя существующего блока обозначения пересечения (если пересекать). То есть - повесить на кнопки следующие макросы: для пересечения сразу после рисования - (command "_pline" (while (= (getvar "CMDACTIVE") 1) (command "\\")))(over-line (entlast) "имя_блока_пересечения") для огибания - (command "_pline" (while (= (getvar "CMDACTIVE") 1) (command "\\")))(over-line (entlast) 50) где 50 радиус дуги огибания; для "обрисовки" уже существующей - (over-line (car (entsel)) 50)
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 05.10.2012 в 15:16. |
|||
|
|||||
Регистрация: 21.08.2012
Сообщений: 42
|
Собственно, так и сделал.
Конкретнее, создал новую команду, в поле "Макрос" прописал Цитата:
Цитата:
Цитата:
Во всех случаях нажатие на кнопку, к которой приартачен макрос, вызывает появление в командной строке Цитата:
|
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
А с кнопкой позабыл замени везде (command "\\") на (command pause)
p/s/ правильно там где "пересечение"
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 03.10.2012 в 22:48. |
|||
|
||||||
Регистрация: 21.08.2012
Сообщений: 42
|
Ну к сожалению пока тоже не получается.
Прописывание макросов Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
|||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
так "еёж" (тот самый код который в начале сообщения) загрузить надо (от того что она на dwg.ru опубликованна, Autodesk, пока еще, ее автоматом не находит), как загрузить - в поиск на форуму (в простом варианте - текстовку сохранить в *.lsp (копировать с форума через всплавающею панельку БЕЗ номеров строк) файл и "зататащить" его в окно автокада).
з.ы. Кстати, об автоматической загрузки с форума. Господа! А может сами сделаем? Чтоб зараза, или просто не грамотный, по отношению к другим код, не проникала - попросим модераторов и иных уважаемых добровольцев инспектировать, ну и выделим раздел, надо только по именам стандартизировать.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 04.10.2012 в 09:18. |
|||
|
||||
Регистрация: 21.08.2012
Сообщений: 42
|
Да не, уж это я сделал. Создал файл over-line.lsp с содержимым
Цитата:
|
|||
|
||||
Регистрация: 21.08.2012
Сообщений: 42
|
А извини пожалуйста, все работает.
Дело в моей косорукости как юзера. Просто я привык полилинии рисовать, в конце нажимая Esc. Правильно команду завершать нажимая Enter. Как только стал нажимать Enter, все стало работать. Ты меня второй раз уже выручаешь. С меня пиво |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Это старая тема - которую в общем можно обработать, но да ладно.
Offtop: Цитата:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
тады код кнопки макроса замени на
((lambda (fn entl) (vl-catch-all-apply 'fn ()) (if (not (equal entl (entlast))) (over-line (entlast) 50))) (lambda () (command "_pline" (while (= (getvar "CMDACTIVE") 1) (command pause)))) (entlast)) остальные соответственно
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 21.08.2012
Сообщений: 42
|
Ясно. Спасибо, я пожалуй оставлю как есть, ибо для меня это уже слишком сложно.
В "оставить как есть" есть свой плюс - если в конце команды нажать Esc то начертится просто полилиния, а если Enter/Пробел то будут организовываться пересечения. Тем самым по этой кнопке можно начертить все что захочется. Еще раз спасибо за труды. |
|||
|
||||
Регистрация: 21.08.2012
Сообщений: 42
|
В общем потестил по ходу работы эти кнопки, нашелся небольшой недочетик.
При пересечении полилиний вставляется наложение/пересечение даже с теми линиями, которые находятся на отключенных слоях, при этом если линия на замороженном слое то все нормально. Выглядит это странно, линии как бы нет, а пересечение вставляется. Последний раз редактировалось 128500, 09.10.2012 в 16:55. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание нового типа линий | Apelsinov | AutoCAD | 915 | 08.07.2022 12:36 |
Разрыв в месте пересечения линий выносок | Zorroko | Конструкции зданий и сооружений | 7 | 20.02.2009 18:42 |