Микрокоманда. Разрыв отрезка на заданное расстояние ?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Микрокоманда. Разрыв отрезка на заданное расстояние ?

Микрокоманда. Разрыв отрезка на заданное расстояние ?

Ответ
Поиск в этой теме
Непрочитано 12.10.2011, 11:26 #1
Микрокоманда. Разрыв отрезка на заданное расстояние ?
RF66
 
Регистрация: 12.10.2011
Сообщений: 5

Здравствуйте! Помогите, пожалуйста, сделать микрокоманду. (AutoCAD 2012 LT)

Требуется разорвать отрезок таким образом, что бы от точки указания разрыва новые отрезки отступили на заданное равное расстояние.
Например пересекаются вертикальный и горизонтальный отрезки. Горизонтальный отрезок нужно разорвать в точке пересечения, два новых отрезка должны отступить от вертикального на 1, а расстояние разрыва в сумме станет 2.
Просмотров: 12406
 
Непрочитано 12.10.2011, 13:59
#2
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от RF66 Посмотреть сообщение
AutoCAD 2012 LT
Боюсь этой скромной фразой, ты можешь ставить крест на своей идее.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 12.10.2011, 15:12
#3
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


RF66, попробуй так ^C^C_break \_f \@ ; _lengthen _DE -1
-1 задает отступ. Необходимо будет указать объект разбиения, точку разбиения, после чего нужно будет указывать оба полученных объекта со сторны точки разбиения для уменьшения на указанный отступ. Можно уменьшить несколько раз или нажать Enter для завершения.
P. S. у меня AutoCAD2008, в нем макрос работал, на LT проверить нет возможности.
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 20.10.2011, 15:13
#4
RF66


 
Регистрация: 12.10.2011
Сообщений: 5


Цитата:
Сообщение от TararykovDG Посмотреть сообщение
попробуй так ^C^C_break \_f \@ ; _lengthen _DE -1
Спасибо. В LT версии работает, но все равно лишних 2 клика.
Почитал книгу "Язык микрокоманд и создание кнопок. Владимир Свет", попробовал сам сделать эту микрокоманду через Быстрый Калькулятор (QUICKCALC), он не поддерживает командную строку
Так что очень похоже на

Цитата:
Сообщение от Дима_ Посмотреть сообщение
ты можешь ставить крест на своей идее
RF66 вне форума  
 
Непрочитано 20.10.2011, 15:33
#5
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Ну, я в макросах несилён, у меня ACAD2008 и все вопросы по автоматизации решаются с помощью лиспа. Вы, кстати, можете обратиться за советом к автору озвученной Вами книги, он, если я ничего не путаю, один из участиков форума Vova
P. S. Надеюсь Vova не обидеться
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 20.10.2011, 16:10
#6
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


^C^C_point;\_erase;_la;;_break;@-1,0;@2,0;

При этом д.б. OSNAPCOORD=1
ытя вне форума  
 
Непрочитано 20.10.2011, 16:26
#7
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


ытя, если у меня два отрезка пересекаются и я хочу в точке их пересечения разбить один из них, как я задам какой?
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 20.10.2011, 16:31
#8
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


_break;@-1,0; - выбирается разрываемый отрезок с одновременным указанием первой точки разрыва
ытя вне форума  
 
Непрочитано 20.10.2011, 16:47
#9
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


пробую в ACAD2008, после выбора разрываемого отрезка появляется запрос "Вторая точка разрыва или [Первая точка]:"
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 20.10.2011, 16:52
#10
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Макрос целиком пробовал?
ытя вне форума  
 
Непрочитано 20.10.2011, 16:55
#11
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Да, конечно, именно целиком. Вечером попробую на домашнем компе.

Попробовал дома. Итак, если указать точку не в месте пересечения отрезков, то появляется запрос "Вторая точка разрыва или [Первая точка]:", если указать точно в месте пересечения то все разбивается только мой вопрос из поста #7 остается актуальным, см. прикрепленный gif-файл, вопрос как мне разбить не красный отрезок а черный
Миниатюры
Нажмите на изображение для увеличения
Название: 2.gif
Просмотров: 142
Размер:	352.9 Кб
ID:	68201  
__________________
cadtools

Последний раз редактировалось TararykovDG, 20.10.2011 в 19:44.
TararykovDG вне форума  
 
Непрочитано 21.10.2011, 10:07
#12
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Мой макрос выше для конкретной задачи:
Цитата:
Сообщение от RF66 Посмотреть сообщение
Горизонтальный отрезок нужно разорвать в точке пересечения, два новых отрезка должны отступить от вертикального на 1, а расстояние разрыва в сумме станет 2.
Для разрыва вертикального в точке пересечения с горизонтальным:
^C^C_point;\_erase;_la;;_break;@0,-1;@0,2;
Для произвольно пересекающихся отрезков добавляется первичный выбор разрываемого:
^C^C_ucs;_ob;\_point;\_erase;_la;;_break;@-1,0;@2,0;_ucs;_p;
ытя вне форума  
 
Непрочитано 21.10.2011, 10:36
#13
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от ытя Посмотреть сообщение
^C^C_ucs;_ob;\_point;\_erase;_la;;_break;@-1,0;@2,0;_ucs;_p;

ытя, отлично , у меня заработало, пусть RF66 поробует в LT и если и там все работает, то
Цитата:
Боюсь этой скромной фразой, ты можешь ставить крест на своей идее.
будет опровергнуто
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 21.10.2011, 10:41
#14
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от TararykovDG Посмотреть сообщение
будет опровергнуто
Это все от лукавого, LT - это для "настоящей" работы - не для лентяев.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 21.10.2011, 10:51
#15
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Тогда Autodesk в LT надо и макросы как и лисп отрубить, для "наcтоящей" работы
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 21.10.2011, 10:55
#16
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Offtop: ...и командную строку
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 21.10.2011, 12:31
#17
RF66


 
Регистрация: 12.10.2011
Сообщений: 5


Цитата:
Сообщение от TararykovDG Посмотреть сообщение
ытя, отлично , у меня заработало, пусть RF66 поробует в LT и если и там все работает, то
Спасибо за внимание к моему вопросу, но все 3 макроса от ытя в LT версии работают не корректно. При разрыве гориз. отрезка точка разрыва смешается на 1, отрезки не "отпрыгивают" от друг друга на 2 а остаются сомкнутыми крайними точками. Иногда вместо гориз. отрез. разрывается вертик. отрез. но в уже точке указания и без "отскока".
Так что пока опровержения
Цитата:
Сообщение от Дима_ Посмотреть сообщение
Боюсь этой скромной фразой, ты можешь ставить крест на своей идее.
не получилось.
RF66 вне форума  
 
Непрочитано 21.10.2011, 13:01
#18
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Цитата:
Сообщение от ытя Посмотреть сообщение
При этом д.б. OSNAPCOORD=1
Условие выполнено ?
ытя вне форума  
 
Автор темы   Непрочитано 24.10.2011, 09:08
#19
RF66


 
Регистрация: 12.10.2011
Сообщений: 5


Выполнил условие. Теперь
Но команда не повторяется при нажатии пробела, приходится кликать в кнопку. Я знаю, что мне помогут "горячие" клавиши, но с пробела быстрей.
При удалении от места пересечения (скролингом) разрывается вертикальный отрезок без отскока.
RF66 вне форума  
 
Непрочитано 24.10.2011, 10:47
#20
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


почти все макросы работают "только" с кнопки, за исключением тех, которые можно "закольцевать", поставив первым символом макроса *
Хмурый вне форума  
 
Автор темы   Непрочитано 25.10.2011, 07:09
#21
RF66


 
Регистрация: 12.10.2011
Сообщений: 5


"Закольцевал" (*) макрос - все пучком! Вспомнил, что и Владимир Свет об этом написал в своей книге.
RF66 вне форума  
 
Непрочитано 25.10.2011, 16:06
#22
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Вот макрос (филет, задающий только один радиус, например, для изгиба трубы определенного размера)
^C^CFILLETRAD;2;_FILLET
Повторяется при нажатии пробела. В других случаях для повтора макроса надо пользоваться контекстным меню, что на правой кнопке, и это удобней чем нажимать икону вторично.
Напоминаю, в тех автокадах, которые были до появляния задержки на правой кнопке мыши, (2004-?) это меню использовалось для повтора любой команды-и это было удобней чем ежели его отключить и пользоваться традиционным повтором на ПК. Ибо при отключении меню терялось много полезных фитч.
Vova вне форума  
 
Непрочитано 25.10.2011, 16:13
#23
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Надо уточнить, что речь идет о самодельных макросах, с опциями. Фактически любой стандартной кнопке AutoCAD'а соответствует какой-нибудь макрос и почти все они запускаются повторно при нажатии Enter или пробела.
Profan вне форума  
 
Непрочитано 25.10.2011, 16:30
#24
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Vova Посмотреть сообщение
Вот макрос (филет, задающий только один радиус, например, для изгиба трубы определенного размера)
^C^CFILLETRAD;2;_FILLET
Цитата:
Сообщение от Profan Посмотреть сообщение
Надо уточнить, что речь идет о самодельных макросах, с опциями. Фактически любой стандартной кнопке AutoCAD'а соответствует какой-нибудь макрос и почти все они запускаются повторно при нажатии Enter или пробела.
Насколько я помню повторяется только последняя команда, без всяких там опций
В примере Vova в документе устанавливается переменная FILLETRAD=2 и все последующие скругления будут с радиусом 2, но по пробелу повторяется только FILLET
gomer вне форума  
 
Непрочитано 25.10.2011, 16:38
#25
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Так в стандартных кнопках, как правило, и присутствуют только команды. Однако, выражение ^C^C_line - тоже макрос.
Profan вне форума  
 
Непрочитано 24.03.2017, 16:12
#26
Шмель


 
Регистрация: 07.02.2011
Сообщений: 13


Добрый день.
Макрос разорвать с отступом (
Код:
[Выделить все]
^C^C_ucs;_ob;\_point;\_erase;_ia;;_break;@-1,0;@2,0;_ucs;_p;
) прекрасно работал в 2017 автокаде, а вот в 2018 отказывается .
Он удаляет отрезок, который нужно было разорвать, а в точке разрыва отрезка, создает точку.
Не могу понять, что нужно изменить .

Последний раз редактировалось Кулик Алексей aka kpblc, 24.03.2017 в 16:25.
Шмель вне форума  
 
Непрочитано 21.04.2017, 15:26
#27
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Если ещё актуально, тут опечатка:
Цитата:
Сообщение от Шмель Посмотреть сообщение
^C^C_ucs;_ob;\_point;\_erase;_ia;;_break;@-1,0;@2,0;_ucs;_p;
^C^C_ucs;_ob;\_point;\_erase;_la;;_break;@-1,0;@2,0;_ucs;_p;
ытя вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Микрокоманда. Разрыв отрезка на заданное расстояние ?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AutoCAD 2009 перенос объекта по оси Z на заданное расстояние parcours AutoCAD 1 01.05.2011 23:40