|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Где ошибка в моем макросе для полилинии в локал. версии AutoCAD?
Регистрация: 07.09.2009
Сообщений: 27
|
||
Просмотров: 13818
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Не понимаю, кто мешает использовать все же старый путь, не заморачиваясь с локализацией?
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Тю, так это стандартные вещи.
Знак подчеркивания перед командой - выполнение оригинального имени. Добавление точки туда же - выполнение внутреннего имени команды, забыв про возможные переопределения команд. Подчеркивание перед опцией (сокращенного или полного наименования опции) - тоже вызов оригинального (то бишь английского) написания опции. Точка с запятой - имитация нажатия Enter в языке макросов (см.В.Свет, "AutoCAD - язык макрокоманд и создание кнопок"; есть в Download)/
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Цитата:
Цитата:
Твоя самописная команда в какой версии AutoCAD'а работала? В версиях 2006-2011 она не работает. Да и не должна работать, если внимательно изучить опции команды "_PEDIT" ("ПОЛРЕД"). Алексей, а ты пробовал вводить опцию "_j" сразу после ввода команды "_.pedit"? |
|||
![]() |
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
Кулик Алексей aka kpblc и KSI, большое спаибо за ценную информацию.
"мог только этот, как его..." - я не претендую на гениальность и совершенное знание AutoCAD. То, что я кнопочку эту в 2006-2008 сам дописывал воспринималось в моем отделе как что-то сродни магии. Profan, я Вас не оскорблял и от Вас жду того же. И на "ты" мы не переходили.
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
М-да! Нужно раз и навсегда отучить локализаторов переводить команды на русский, дабы избежать разжигания русофобских настроений и прочего экстремизма. Пусть берут пример с того же Bricscad, где в локализованной версии команды на русский никто не переводил...
|
|||
![]() |
|
||||
Цитата:
![]() ![]()
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I |
||||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Цитата:
Я утверждаю, что макрос ^C^C_.pedit;_j; ни в какой версии корректно работать не будет, потому что пропущена опция "_m" ("н") для выбора объектов. Так что, Nosferatu, приведи-ка, пожалуйста, протокол выполнения этого макроса. |
|||
![]() |
|
||||
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460
|
Offtop: Nosferatu, мне тоже, кстати, не нравится злое название темы!
Profan, вполне допускаю, что в оригинале макрос верный, поскольку его действие "воспринималось ... сродни магии", но в теме ввиду, полагаю, срочной спешки написано автором неверно. Бывает, ничего страшного, он же начинает только программировать. Зато остальным урок полезный.
__________________
Я дарю не рыбу, а удочку и море. www.zodchii.ws, Библиотеки электронных книг Download Последний раз редактировалось BM60, 09.07.2010 в 16:25. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Цитата:
После окончания работы макроса нажать F2 и скопировать содержимое текстового окна.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460
|
Offtop: Nosferatu, а книга, между прочим, В.Света (из №5) самая востребованная для таких случаев среди всех кадчиков всего мира, и это удобнее ответов с форума...
Offtop: Алексей, переименуй, пож-ста, тему в "Где ошибка в моем макросе для полилинии в локализованной версии AutoCAD". Ну зла не хватает видеть "зло"...
__________________
Я дарю не рыбу, а удочку и море. www.zodchii.ws, Библиотеки электронных книг Download Последний раз редактировалось BM60, 09.07.2010 в 15:15. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
BM60, автор захочет - переименует
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
Цитата:
Автор давно хочет, понял и признает свою ошибку, вот только не знает как переименовать тему Теперь протокол: "Команда: Противоположный угол: Команда: Команда: Команда: Задайте параметр [Замкнуть/Добавить/Ширина/Вершина/СГладить/СПлайн/Убрать сглаживание/Типлин/оБратить/Отменить]: Выберите объекты: Противоположный угол: найдено: 4 Выберите объекты: Добавлено сегментов: 3 Задайте параметр [Замкнуть/Добавить/Ширина/Вершина/СГладить/СПлайн/Убрать сглаживание/Типлин/оБратить/Отменить]: *Прервано*"
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Сообщений: n/a
|
Цитата:
|
|||
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
Вы приписываете мне агрессию, которую сами себе придумали.
Цитата:
Хочу отметить, что все работает, и, в принципе вопрос снят, всем спасибо! Кстати, у меня работа связана с частым применением этого гм, макроса. Я экономлю не только и не столько время, сколько нервы. Себе и отделу. Ваш макрос УЖЕ помог 4 инженерам.
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460
|
Offtop: Любо-дорого теперь прочесть заголовок, начало и конец этой темы.
__________________
Я дарю не рыбу, а удочку и море. www.zodchii.ws, Библиотеки электронных книг Download |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Nosferatu, скажу честно: мне будет проще сделать лисп типа
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Цитата:
Вот реальный протокол выполнения макроса ^C^C_.pedit;_j; Код:
|
|||
![]() |
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
что вы все на меня нападаете?
мне сказали после выполнения команды нажать F2 и скопировать оттуда непонятные слова, я так и сделал! Вообще, вначале был простой вопрос и сразу был правильный ответ. Зачем пошла лабуда про кривые руки и то, что макрос, который работает, работать в принципе не может, когда я его уже 3 года юзаю, я не понимаю! Теперь я что-то мистифицирую... Да елы-палы!
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Nosferatu, тихо-тихо
![]() ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Дизайнер-конструктор Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
![]() |
Nosferatu, если часто пользуешся часто pedit, то попробуй
PL-JOIN из Новые команды для работы с полилинией. http://dwg.ru/dnl/607 Цитата:
__________________
Kiev, Ukraine |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Nosferatu, это уже дело принципа. Я всяких макросов в свое время горы понаделал. Не работает у меня этот макрос ни в одной версии. О каких непонятных словах ты пишешь, если у тебя русская версия? Тогда хоть словами опиши, что у тебя выполняется после нажатия кнопки с этим макросом.
А вот как выглядит протокол выполнения команды "_pedit" для 4 отрезков при PEDITACCEPT, равной 1 (AutoCAD 2006 РУС, AutoCAD 2011 РУС): Код:
|
|||
![]() |
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
Цитата:
![]() у меня и моих коллег работает в версии:"^C^C_.pedit;_j;" Описываю. Есть два отрезка, концы которых совпадают. Отрезки не лежат на одной прямой. Выделяем первый, нажимаем кнопочку, выделяем оба (или все, если их больше). Затем пробел или интер. Он все еще в режиме команды, поэтому жмем Esc. Готов поспорить, так заработает. :-) Цитата:
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Nosferatu.
Вот это важно: Цитата:
А теперь попробуй вот такой макрос: Код:
|
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Nosferatu.
Еще замечания. Если вернуться к твоему макросу, то он не будет работать при отключенном предварительном выборе объектов (переменная PICKFIRST = 0). И, конечно, в случае удачной работы твоего макроса, обрывать комадну по Esc нет нужды, команда нормально завершится при нажатии Enter или пробела. |
|||
![]() |
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
Не, Вы что издеваетесь? вообще ж ничего не понятно, как в лиспе Алексея! Но, все равно спасибо, маэстро
![]() Раз пошла такая пьянка, скажите, пожалуйста - с чего лучше начать изучение темы написания макросов - с книги, которую мне посоветовали скачать в начале темы?
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Да, советую эту книгу прочитать обязательно.
http://dwg.ru/dnl/3480 |
|||
![]() |
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
работает иделаьно, но для Вас это, скорее всего не новость
Цитата:
Считаю тему можно закрывать.
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Да, не новость. Применение в макросе команды "_select" ("выбрать") помогает решить многие проблемы. Это связано не в последнюю очередь с тем, что единственная косая черта позволяет произвести многократный выбор объектов...
|
|||
![]() |
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
Вуфля, есть куча возможностей разомкнуть полилинию.
1) "Оборвать в точке" (функция в панели Modify или Редактирование) 2) "Взорвать" полилинию 3) и, мне кажется, самое правильное в таких ситуациях - отменить последнее действие стрелочкой на верхней панели или нажатием Ctrl+z Да поправят меня более опытные коллеги, если я не прав. А про стенку вообще непонятно
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
Регистрация: 07.09.2009
Сообщений: 27
|
Офтоп: а может, все-таки, первоначальное название темы не совсем противоречит действительности? Русский АКАД, на мой взгляд, как коробка автомат - если на ней учился, на ней тебе и ездить. Переучиваться сложно.
__________________
"А кто не курит сосиски, тот лох!" (с) |
|||
![]() |
|
||||
Регистрация: 15.01.2010
Сообщений: 202
|
Есть классный макрос. Отрисовывает линию разрыва трубы всего за два клика. Основу взял с книги В. Света и потом доработал.
^C^C(Setq CL1 (Getvar "CLayer"));_CLayer;"BreakLine";(Setq Os (Getvar "Osmode"));_Osmode;0;(Setq P1 (Getpoint));_Nea;\(Setq P2 (Getpoint P1));_Per;\_Pline;'_Cal;P1;_Width;0;;_Arc;_Angle;-80;'_Cal;P3=(P1+P2)/2;'_Cal;P2;_Angle;80;'_Cal;P3;;(Setvar "Osmode" Os) (Setvar "CLayer" CL1) В 5-м и 6-м AutoCADе все это работало безупречно. А в 10-м (английская версия) выполняется наполовину. Не могу понять в чем проблема. Может кто-то что-то подскажет? Ниже выполнение макроса: Command: (Setq CL1 (Getvar "CLayer")) "BreakLine" Command: _CLayer Enter new value for CLAYER <"BreakLine">: "BreakLine" Command: (Setq Os (Getvar "Osmode")) 0 Command: _Osmode Enter new value for OSMODE <0>: 0 Command: (Setq P1 (Getpoint)) _Nea to (132871.0 37846.3 0.0) Command: (Setq P2 (Getpoint P1)) _Per to (133043.0 37846.3 0.0) Command: _Pline Specify start point: '_Cal >>>> Expression: P1 Resuming PLINE command. Specify start point: _Width Invalid point. Specify start point: 132870.53644554,37846.293094523,0 Current line-width is 0.0 Specify next point or [Arc/Halfwidth/Length/Undo/Width]: *Cancel* Ошибка в том, что после получения первой точки Р1 из выражения калькулятора, он опять запрашивает первую точку - ПОЧЕМУ? ![]() |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Возможно ли установить AutoCAD 2009 и 2010 в рамках одной системы и избежать конфликтов? | anonymous | AutoCAD | 11 | 14.03.2012 10:36 |
Дуги из AutoCAD в ArchiCAD "выпрямляются"....(((Помогите пжста!Блондиню... | anele_art | AutoCAD | 4 | 31.03.2010 05:45 |
AutoCad 2004 и 2008 на одной машине | esquire_vik | AutoCAD | 3 | 07.05.2009 11:00 |
Нет ни одной панели AutoCAD 2009LT | Mikhailka | AutoCAD | 2 | 23.02.2009 16:11 |
Как поставить два AutoCAD на одной машине? | Chief Justice | AutoCAD | 6 | 24.07.2006 09:36 |