| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
>Profan Спасибо, Владимир. Как-то пропустил твой пост, только сейчас заметил. Заменил. Исправления от 14.03.2007
Помимо этого добавлено: ConvTo2d -Преобразование линейных объектов в 2D полилинии ConvTo3d -Преобразование линейных объектов в 3D полилинии MPL -Построение средней линии R3P -Прямоугольгик по 3-м точкам PL-JOIN -Объединение полилиний чохом (если есть 3d полилинии, то объединяет и их тоже, но не с 2d, а между собой) PL-JOIN3D -Объединение 3D полилиний (Отрезки + 3d полилинии) Исправлены мелкие и не очень (спасибо KAI) глюки. |
||||
|
||||
геологоразведка, строительство Регистрация: 14.10.2003
Магадан
Сообщений: 311
|
Цитата:
Даже мне, зунуде, кажется, что уже все в норме. Есть конечно мелкие огрехи, кое в чем с автором я не согласен, но на то и АВТОР! Ему видней. А в целом комплекс ОЧЕНЬ хороший! Рекомендую! Огромное спасибо VVA!
__________________
Лень - великий двигатель прогресса! |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Для VVA.
Вот ЗДЕСЬ есть еще программа Евгения Елпанова "Изменение начальной и конечной ширины произвольного сегмента полилинии". Вы не хотите включить ее или ваш аналог в пакет PLTOOLS? Правильно вы сделали, что сгруппировали кнопки. |
|||
|
||||
Поступают просьбы добавить команду, чтоб выбирать надо было бы только один объект, а команда объединяла все примыкающие объекты (линии, полилинии, дуги...) в полилинию.
Выкладываю на тестирование и для предложений/замечаний. Алгорити взят у ChainSelect Fatty Код:
CSS - объединение путем выбора притива CSP - объединение путем указания точки |
||||
|
||||
геологоразведка, строительство Регистрация: 14.10.2003
Магадан
Сообщений: 311
|
>> VVA
Очень интересно! Но: 0. Мур-мур от команд надо-бы отключить. 1. CSS. В одном из моих отладочных чертежей вылезла следующая ошибка (правда там объекты отрисованы в разных UCS и ужасная мешанина из объектов): Command: CSS Выбрать первую или последнюю линию в цепи : Значение допуска < 0.01 >: ; error: bad argument value: AcDbCurve 2130505112 2. CSS. 3DPoly следует исключать из набора, иначе получается следующая картина: ---3DPoly в конце цепочки------------ Command: css Выбрать первую или последнюю линию в цепи : Значение допуска < 0.01 >: _.redraw Command: _pedit Select polyline or [Multiple]: _M Select objects: 9 found Select objects: Enter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: _j Join Type = Both (Extend or Add) Enter fuzz distance or [Jointype] <0.010>: _j Enter join type [Extend/Add/Both] <Both>: _b Join Type = Both (Extend or Add) Enter fuzz distance or [Jointype] <0.010>: 0.010000000000000 8 segments added to polyline Enter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: Command: ._select Select objects: 0 found Select objects: ---3DPoly в начале---------------------- Command: CSS Выбрать первую или последнюю линию в цепи : Значение допуска < 0.01 >: _.redraw Command: _pedit Select polyline or [Multiple]: _M Select objects: 10 found Select objects: Enter an option [Close/Open/Spline curve/Decurve/Undo]: _j Invalid option keyword. Enter an option [Close/Open/Spline curve/Decurve/Undo]: ._select Invalid option keyword. ; error: Function cancelled Enter an option [Close/Open/Spline curve/Decurve/Undo]: 3. CSP. Похоже точку надо указывать точно на узле объекта? 4. Для PEDITACCEPT лучше применять конструкцию: (if (getvar "PEDITACCEPT");для 2006>> (progn (setq pda (getvar "PEDITACCEPT")) (setvar "PEDITACCEPT" 1) ) ) Вдруг прогу запустят в acad 2005? 5. CSS. Кроме 3DPoly, думаю следует проверять еще и линии (они должны лежать в одной плоскости), а то получается, что грипсы загораются на всей цепочке, но это только видимость! Если последняя линия не в плоскости полилинии. 6. На мой взгляд, fuzz по умолчанию лучше бы сделать 0.0, будем приучать пользователей к точности.
__________________
Лень - великий двигатель прогресса! |
|||
|
||||
> 0. Мур-мур от команд надо-бы отключить
Извини, не понял о чем речь >1. CSS. В одном из моих отладочных чертежей вылезла следующая >ошибка (правда там объекты отрисованы в разных UCS и ужасная >мешанина из объектов): Попробуй проверить этот чертеж _audit или _recover. Это помогло на том глючном файле, который ты присылал раньше. >2. CSS. 3DPoly следует исключать из набора, иначе получается >следующая картина: Пришли файл, т.к. 3dpoly исключаю Код:
Да >4. Для PEDITACCEPT лучше применять конструкцию: PEDITACCEPT появилась с 2004 Автокада. Не знаю, есть ли смысл ввводить проверку? >5. CSS. Кроме 3DPoly, думаю следует проверять еще и линии (они >должны лежать в одной плоскости), а то получается, что грипсы >загораются на всей цепочке, но это только видимость! Если >последняя линия не в плоскости полилинии. Здесь принцип такой: строится список объектов с совпадающими началом/концом и отдается на откуп _PEDIT _M. А уж сколь там контуров построит PEDIT одному Autodesk'у известно. Грипсами подсвечивается все, что получилось (или осталось). Это могут быть и несколько контуров, или (и) не объединенные LINE. Почему проскальзывают 3dpoly пока не понятно? >6. На мой взгляд, fuzz по умолчанию лучше бы сделать 0.0, будем >приучать пользователей к точности. Это правильно. Еще терзают смутные сомнения в необходимости CSP. |
||||
|
||||
геологоразведка, строительство Регистрация: 14.10.2003
Магадан
Сообщений: 311
|
>> VVA
>0. Именно CMDECHO. >1. CSS. В одном из моих отладочных чертежей вылезла ошибка... Audit and Recover не помогло. >2. CSS. 3DPoly следует исключать из набора... Если 3DPoly в конце - все OK. А вот если в начале, то .... >4. Для PEDITACCEPT Отнюдь не все перешли еще на 2004>> >5. CSS. Линии не в плоскости. Может лучше подсветить грипсы для итоговой полилинии, а не для набора, передаваемого в PEdit? > Еще терзают смутные сомнения в необходимости CSP. Наверное, это не нужно, что-то никак не могу придумать в каких ситуациях это будет полезно. И еще заметил. Если выбирать дугу, расположенную в середине цепочки, то CSS вроде логично объединяет дугу с последующими объектами (предыдущие не объединяются, предыдущий объект линия). Но если выбрать линию (дугу) в середине цепочки, то объединяются выбранный объект и последующие и почему-то один предыдущий линия (или дуга при выборе дуги).
__________________
Лень - великий двигатель прогресса! |
|||
|
||||
геологоразведка, строительство Регистрация: 14.10.2003
Магадан
Сообщений: 311
|
>> VVA
Может это старческое брюзжание, но: 1. Болезнь отмены работы программы так и не преодолена, для отмены нужно 2 раза посылать команду U (это касается и программ комплекса pltools). 2. Все-таки логичнее будет, если пользователь выбирает объект вблизи будущего начала полилинии и к нему добавляются только объекты, примыкающие к концу этого объекта! Сейчас же, похоже, объединение выполняется в зависимости от направления исходных объектов, причем объединение происходит в режиме: все в одном направлении + один объект в противоположном. 3. Перед началом работы программы следует сбросить грипсы. Если после CSS снова ее запускаем (грипсы на предыдущей не сброшены), то после указания нового объекта для объединения получаем ошибку: Command: CSS Выбрать первую или последнюю линию в цепи : Значение допуска < 0 >: Invalid option keyword. Invalid option keyword. ; error: Function cancelled Enter an option [Close/Join/Width/Edit vertex/Fit/Spline/Decurve/Ltype gen/Undo]: А в целом, можно уже помещать ее в PLTolls.
__________________
Лень - великий двигатель прогресса! |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Да вот, например. Архитекторы чертят план в масштабе 1:1, а выводить на печать будут из модели в масштабе 1:100. Все размерные величины (и тексты) соответственно увеличены в 100 раз. Для этого задается переменная "DIMSCALE" равная 100. В этих условиях ширина полилинии должна быть, для примера, не 0.5, а 50. Поэтому я и предположил, что, если "DIMSCALE" > 1, то и ширину полилинии надо устанавливать равной, скажем, 0.5 x (getvar "DIMSCALE"). Возможно, это спорный момент.
|
|||
|
||||
> Krieger №18
Цитата:
Цитата:
На дуговых сегментах полилинии тип линий может быть "вверх тормашками", причем реверс не помогает. Этот артефакт можно побороть, если в полилинии включить "генерацию типа линий". Последний раз редактировалось VVA, 19.09.2015 в 22:56. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,819
|
Вах-вах-вах! Позор на мою дурную голову! Я этого не знал! Вай-вай-вай!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||