| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Так оно изначально так и задумывалось...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Vova, ну я же предупреждал там с самого начала. Можно, конечно, переделать, но зачем? Ведь программа Profan'a работает корректно?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 30.04.2008
Сообщений: 400
|
И все таки мне не дает покоя первоначальная задача. Как у мультилинии сделать одну из линий толще?
Я предлагал поиграться со стилями мультилиний, но у объекта мультилиния это свойство только для чтения. При необходимости изменить стиль мультилинии можно конечно перерисовать ее по новой, а старую удалить. В связи с этим вопрос: как программно получить доступ к стилю мультилиний? |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Программа Profan работает корректно. Просто он дал ссылку на тему, а в ней было три варианта. Естественно, я опробовал все, и увидел при этом непонятную работу твоей программы. Подумал, что дело в версии, ведь теме уже 5 лет. А оказалось, так и было задумано...
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Цитата:
> Vova:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Код удален за не надобностью и перемещен сюда:
http://forum.dwg.ru/showthread.php?t=30439&page=2 Последний раз редактировалось Profan, 08.02.2010 в 09:15. |
|||
|
||||
Регистрация: 30.04.2008
Сообщений: 400
|
|
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Profan, ты сделал комбинацию построения серии последовательных полилиний с округлением углов, причем все сегменты и дуги не связаны между собой. Но мне надо другое, а именно: построение серии полилиний это одна задача, и она решена в твоем начальном лиспе. А другая, самостоятельная, это соединение концов, как полилиний, так и отрезков, то есть команда Fillet, но так, чтобы полилинии не объединялись. При Filletrad=0 получается частный случай филета-Chamfer. Данная программа применялась-бы в двух случаях. 1. Для построения схем, в которых линии и полилинии соединялись бы под прямым углом без их объединяния. 2. Для построения колен труб разных диаметров. Радиусы изгиба труб известны, они разные в зависимости от диаметра трубы и технических требований к изгибу тех кабелей, что прокладываются в данной трубе.
У меня много лет работали макросы, использующие команду Exfillet из старых Express и подставленные в него переменные Filletrad для наружного и внутреннего радиуса изгиба конкретной трубы. Допустим, построил двумя отрезками(или полилиниями) горизонтальный участок 4-х дюймовой трубы, затем вертикальный. Два щелчка по внешним сторонам скругляют наружные линии большим диаметром и два щелчка по внутренним-скругляют их малым (внутренним) диаметром. После того как в автокаде при команде Fillet появилась опция М, Exfillet изъяли из набора, но эта опция объединяет полилинии, а мне это не нужно. Я загружал Exfillet во все послед. версии, но в 2010 стали происходить странности. В некоторых файлах Exfillet перестал работать. Больше того, делаю из такого файла Wblock, в нем Exfillet работает, а потом перестает. В других-же файлах все работает нормально. Выявить причину не могу. Вот макрос для изгиба 4-дюймовой трубы, нарисованной двумя линиями: *^C^CFilletrad;18.25;\\Fillertad;13.75;Fillet (Здесь радиусы изгиба в дюймах). Такие-же кнопки у меня есть и для других диаметров труб, а также для труб, нарисованних одной линией. Старый Exfillet могу выложить-может, в нем найдется ошибка. В макросе я уже сменил Exfillet на обычный Fillet и не рисую трубы полилиниями. Последний раз редактировалось Vova, 07.02.2010 в 23:04. |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Vova, вот твоя просьба из сообщения #19:
Цитата:
В 2004 тоже не нашел такую команду. Последний раз редактировалось Profan, 08.02.2010 в 09:44. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
Код:
|
|||
|
||||
Регистрация: 05.10.2006
ЧЕЛНЫ
Сообщений: 122
|
Прошу прощенья за то, что вклинился, но дабы не создавть новую тему, изложу свою просьбу здесь. Суть - заточить под 2010 вот эту вещицу - http://dwg.ru/dnl/4357. К сожаленью с автором связаться не удается.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
RFL, это нереально. Лиспы вроде были, позволяющие выполнять рисование на основе образца - достаточно поискать (здесь и на caduser.ru)
Vova, поверхностный анализ кода привел вот к чему: там безумное количество командных методов. Команды имеют тенденцию меняться от версии к версии. И, учитывая, что pedit там используется "в полный рост", я бы задумывался о проверке значений peditaccept. Короче, код по идее надо переделывать, но я на это сейчас уже не способен.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992
|
|
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
|
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Значит так, Vova. В стандартных поставках AutoCAD (включая 2000) в ET команда (и файл) EXFILLET отсутствует. Я нашел ее в отдельном сборнике (как я и предполагал) "Express Tools volume 1-9". Пришлось мне установить AutoCAD 2000 без штатного ET и потом уже установить Express Tools из этого сборника. Поработал я с этой командой и вот что отмечу: если начерчены последовательные разрозненные сегменты полилиний, то их можно сопрячь или без объединения (TRIM), или с объединением (JOIN). В первом случае сопряжение производится дугой, во втором случае дуговым сегментом полилинии. Я теперь понял, что тебе нужно. В этой программе можно дополнительно менять радиус сопряжения в процессе выполнения команды. Только вот что не совсем то, на мой взгляд. Ты ведь задаешь нужную ширину полилинии, а сопряжение у тебя без объединения выполняется дугой, у которой никакой ширины нет (если не задан вес). Как же ты выходил из положения?
Я проверил работу этой программы в разных версиях AutoCAD. Действительно, она работает везде, кроме 2010. Не знаю, смогу ли разобраться... Дальше. Вот, что я пока заметил. Эта программа расчленяет полилинии, сопрягает их и опять превращает в полилинии. Однако, дуговой сегмент, если не задано объединение, так и остается дугой, а не дуговым сегментом полилинии. Vova, я в "Готовых программах" выложил свой вариант аналога этой программы. Моя программа еще достаточно простая, без разветвления и циклов. Но в ней дуга сопряжения преобразуется в дуговой сегмент полилинии. http://forum.dwg.ru/showthread.php?p=518427#post518427 Последний раз редактировалось Profan, 09.02.2010 в 13:46. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Настрой будущую версию Автокада под себя (AutoCAD Wish List) | Кочетков Андрей | AutoCAD | 3 | 22.06.2007 20:25 |
Помогите. Кирпичная кладка под лестницу. | Edelvase | Архитектура | 6 | 20.04.2007 18:25 |
Помогите собрать систему под AutoCAD 2007 | draven82 | AutoCAD | 40 | 21.02.2007 11:08 |
Как написать программу на С++ Builder 6 под AutoCAD 2002 | dimaxxx | Программирование | 4 | 19.10.2006 14:38 |
помогите настроить cad под себя | water | AutoCAD | 8 | 26.09.2006 11:55 |