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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Не могу написать макрос для полилинии

Не могу написать макрос для полилинии

Ответ
Поиск в этой теме
Непрочитано 16.10.2018, 17:11 #1
Не могу написать макрос для полилинии
NemoSUN
 
Регистрация: 04.03.2008
Сообщений: 148

Нужно чтобы после ввода команды pline, автоматически подставлялась опция Multiple. Далее, после выбора объектов вручную и завершения выбора клавишей Enter на вопрос о конвертировании был ответ Yes и после выполнилась команда Join и ответ Yes на точность.

Пишу так ^C^C_PEdit;_m;\;_y;_j;;. Но работает только до выбора объектов. Дальше всё вручную приходится.
Просмотров: 6493
 
Непрочитано 16.10.2018, 19:35
1 | #2
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Попробуй вот такой макрос:
Код:
[Выделить все]
^C^C_Select;\_Pedit;_m;_p;;_y;_j;;;
В наборе объектов должен быть хотя бы один отрезок.
Setvar вне форума  
 
Непрочитано 16.10.2018, 19:56
#3
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


peditaccept забыли
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.10.2018, 08:16
#4
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,767


Зачем это, если есть _join?
engngr вне форума  
 
Автор темы   Непрочитано 17.10.2018, 13:15
#5
NemoSUN


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


Цитата:
Сообщение от Setvar Посмотреть сообщение
^C^C_Select;\_Pedit;_m;_p;;_y;_j;;;
ОООО!!! Дааааааа..........

Только не понял сей МАГИИ !!!!! Логику работы макроса (почему именно так идут комманды) так и не понял ((((((
NemoSUN вне форума  
 
Непрочитано 17.10.2018, 14:46
#6
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Это особенность работы команды "_SELECT" ("ВЫБРАТЬ") в программах. Достаточно одной косой в макросе для неограниченного выбора объектов. Смею думать, что это мало кому известная фича.
Советую обратить внимание на сообщение #3. Я не стал учитывать этот момент исходя из предположения, что макрос предназначен для работы исключительно с отрезками.
Setvar вне форума  
 
Автор темы   Непрочитано 19.10.2018, 10:28
#7
NemoSUN


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


Цитата:
Сообщение от Setvar Посмотреть сообщение
Это особенность работы команды "_SELECT" ("ВЫБРАТЬ") в программах.
Я читал про косую черту в книге "В.Свет Autocad. Язык макрокоманды и создание кнопок". Но там не говориться что можно сначала выбрать, а потом ввести команду (SELECT командой в данном случае не считаю).
NemoSUN вне форума  
 
Непрочитано 19.10.2018, 13:41
#8
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Цитата:
Сообщение от NemoSUN Посмотреть сообщение
Пишу так ^C^C_PEdit;_m;\;_y;_j;;. Но работает только до выбора объектов. Дальше всё вручную приходится.
После \ точка с запятой не нужна.
__________________
Правильно сформулированный вопрос содержит 90% ответа.
pan вне форума  
 
Автор темы   Непрочитано 26.10.2018, 17:31
#9
NemoSUN


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


Цитата:
Сообщение от Setvar Посмотреть сообщение
^C^C_Select;\_Pedit;_m;_p;;_y;_j;;;
Пользуюсь, не налюбуюсь )
Но, заметил непонятности в работе. В файле, что приложил (2480x2170), данный макрос не работает. Не объединяются полилинии. Почему ?????????
Вложения
Тип файла: dwg
DWG 2010
2480x2170.dwg (80.6 Кб, 19 просмотров)
NemoSUN вне форума  
 
Непрочитано 26.10.2018, 17:55
#10
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,767


Уровни разные у плиний.
engngr вне форума  
 
Автор темы   Непрочитано 26.10.2018, 23:12
#11
NemoSUN


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


Цитата:
Сообщение от engngr Посмотреть сообщение
Уровни разные у плиний.
Разные уровни не могут быть. К тому же вручную отрезки соединяются.
NemoSUN вне форума  
 
Непрочитано 27.10.2018, 07:32
#12
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Цитата:
Сообщение от NemoSUN Посмотреть сообщение
К тому же вручную отрезки соединяются.
Нету там отрезков. Там 2 полилинии разного цвета. А я специально подчеркнул, что в наборе объектов должен быть хотя бы один отрезок.
В этом случае можно переменную peditaccept установить в 1 и макрос тогда будет иметь другой вид:
Код:
[Выделить все]
^C^C_Select;\_Pedit;_m;_p;;_j;;;
Нет подтверждения на преобразования отрезков и дуг в полилинию. Но желательно потом вернуть переменную peditaccept в начальное состояние.
Setvar вне форума  
 
Непрочитано 27.10.2018, 08:15
#13
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,767


Цитата:
Сообщение от NemoSUN Посмотреть сообщение
Разные уровни не могут быть.
Чёй-та? - присвой обеим плиниям уровень N [, потом 0], и соедини.

На #4 ответ кто?
engngr вне форума  
 
Непрочитано 27.10.2018, 09:06
#14
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


У обеих полилиний в данном случае одинаковые уровни, поэтому и никак не могут быть разными.
Цитата:
Сообщение от engngr Посмотреть сообщение
На #4 ответ кто?
Здесь отвечают на #1.
Setvar вне форума  
 
Автор темы   Непрочитано 28.10.2018, 22:40
#15
NemoSUN


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


Цитата:
Сообщение от Setvar Посмотреть сообщение
А я специально подчеркнул, что в наборе объектов должен быть хотя бы один отрезок
Я это понял так - ОДИН ИЗ объектов должен быть прямым: line или poliline. А так как в маленькой полилинии есть прямые участки, то условие "хотя бы один отрезок" проходит.

Цитата:
Сообщение от Setvar Посмотреть сообщение
В этом случае можно переменную peditaccept
Можно ли это загнать в макрос ? Сначала выставляется 1, после выставляется обратно.
NemoSUN вне форума  
 
Непрочитано 29.10.2018, 07:00
1 | #16
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Цитата:
Сообщение от NemoSUN Посмотреть сообщение
Я это понял так - ОДИН ИЗ объектов должен быть прямым: line или poliline.
Неправильно ты понял. Под отрезком понимается именно объект AutoCAD'а - отрезок. Но может быть еще и дуга. Для преобразования этих объектов в сегменты полилинии при peditaccept=0 требуется подтверждение. При peditaccept=1 это подтверждение не требуется.

Цитата:
Сообщение от NemoSUN Посмотреть сообщение
Можно ли это загнать в макрос ? Сначала выставляется 1, после выставляется обратно.
Здесь:
https://forum.dwg.ru/showthread.php?t=22024
Profan подробно все расписывает.
Setvar вне форума  
 
Автор темы   Непрочитано 29.10.2018, 10:18
#17
NemoSUN


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


Цитата:
Сообщение от Setvar Посмотреть сообщение
Profan подробно все расписывает
^C^CPeditaccept;1;_Select;\_Pedit;_M;_P;;_J;;;_Peditaccept;0 - просто счастье какое-то )))))))))
Всё. Я доволен.
NemoSUN вне форума  
 
Непрочитано 29.10.2018, 10:57
#18
gumel


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


А я пользуюсь этим:

http://www.lee-mac.com/polylineprograms.html#polyjoin

gumel вне форума  
 
Непрочитано 29.10.2018, 11:09
#19
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Цитата:
Сообщение от gumel Посмотреть сообщение
А я пользуюсь этим:
Для тебя, видимо, нет никакой разницы между программой на AutoLisp и макросом меню.
Setvar вне форума  
 
Непрочитано 29.10.2018, 11:52
#20
gumel


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


Цитата:
Сообщение от Setvar Посмотреть сообщение
Для тебя, видимо, нет никакой разницы между программой на AutoLisp и макросом меню.
Ай да, прошу прощения ))
Очень компактная реализация!
gumel вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Не могу написать макрос для полилинии

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замыкание полилинии после ввода (макрос?) geofix Программирование 13 19.11.2019 20:32
ищу функцию построения 3d полилинии mankurt Программирование 8 07.02.2012 12:43
"Расчет ведомости отправочного элемента. Макрос VBA Excel." Вопросы и ответы по програмке. Brain Murder Программирование 4 13.12.2010 18:42
выноски к полилинии gizmo_zx Программирование 6 01.03.2010 12:17
помогите написать макрос на сочетание Ctrl+ буковка ssn AutoCAD 31 04.06.2009 01:53