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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос автоматической штриховки замкнутой полилинии

Макрос автоматической штриховки замкнутой полилинии

Ответ
Поиск в этой теме
Непрочитано 28.04.2014, 07:48 #1
Макрос автоматической штриховки замкнутой полилинии
MrBrown
 
ПенсионЭр
 
Регистрация: 26.06.2009
Сообщений: 359

Здравствуйте, мастера ЛИСПа!
Помогите, пожалуйста, у кого найдётся времечко, сваяйте мне небольшой макрос:
На плане города обвожу кварталы полилинией и потом штрихую обведенную полилинией площадь.
Хотелось бы автоматизировать: нарисовал полилинию, а она, после команды "ЗАМКНУТЬ" - автоматически заштриховалась бы штриховкой по умолчанию (то есть, той, какую я вначале работы установлю - образец штриховки, слой, цвет и т.д., то есть это будут все свойства полилинии-контура).
Ну и в конце макрос перемещал бы эту штриховку на самый нижний слой вместе с контуром-полилинией.
Спасибо всем откликнувшимся.
p.s. Полилинии рисую без дуг, только прямыми отрезками.
Работаю в AutoCAD-2014 RUS
Просмотров: 3942
 
Непрочитано 28.04.2014, 09:25
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Ээээ... а может просто немного поменять схему работы?
Сначала все обвести, а потом все скопом заштриховать в режиме выбора объектов и установив галочку Create separate hatches ("Создавать отдельные штриховки")
Boxa вне форума  
 
Автор темы   Непрочитано 28.04.2014, 09:31
#3
MrBrown

ПенсионЭр
 
Регистрация: 26.06.2009
Сообщений: 359


Boxa, я, в принципе, так и делаю, выделяю контур каждой штриховки в процессе рисования. Если сперва нарисовать контуры, а потом выделять, то можно пропустить какой-нибудь контур. Нет?
______________________
Так, я, видимо, не понял вашего ответа. Пробую с галкой (которая "2"). О результатах отпишусь.
______________________
Через пару минут: нет, не получается: чтобы выделить все контуры, мне приходится скрывать слой с домами и улицами, так как они (квадраты домов) тоже выполнены полилиниями и тоже штрихуются

Последний раз редактировалось MrBrown, 28.04.2014 в 09:39. Причина: добавление
MrBrown вне форума  
 
Непрочитано 28.04.2014, 10:00
#4
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Хорошо, добавим в последовательность еще одну команду: _layiso
Т.е.
1 чертим полилинии
2 изолируем слои _layiso
3 штрихуем
4 Восстанавливаем слои _Layuniso
Boxa вне форума  
 
Автор темы   Непрочитано 28.04.2014, 10:34
#5
MrBrown

ПенсионЭр
 
Регистрация: 26.06.2009
Сообщений: 359


Boxa, выход. Спасибо. Но ведь, "лень-двигатель прогресса". Хочется без лишних телодвижений, пусть даже пальцем на мышке
MrBrown вне форума  
 
Непрочитано 28.04.2014, 11:08
#6
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Вот, накидал:
Код:
[Выделить все]
(defun c:plhatch ()
	(vl-load-com)
	(VL-CATCH-ALL-APPLY '(lambda()(command "_.PLINE")(while (> (getvar "CMDACTIVE") 0) (command pause))))
	(vla-put-Closed(vlax-ename->vla-object(entlast)) :vlax-true)
	(command "_-hatch" "_s" "_l" "" "")
	(command "_draworder" "_l" "" "_b")
 )
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 28.04.2014, 11:17
#7
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Krieger, а настройки для штриховки откуда берутся?
Boxa вне форума  
 
Непрочитано 28.04.2014, 11:19
#8
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


По дефолту
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 28.04.2014, 11:25
#9
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Krieger, слой, тип и вес линий все по текущем настройкам, получилось прямо как у Вас в подписи =))))
Я не хочу обидеть, ИМХО, такое решение заменяет тыканье с одних кнопок на другие и не дает нужной автоматизации.
Boxa вне форума  
 
Непрочитано 28.04.2014, 11:26
#10
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Дык скажи какие надо, воткнуть то не проблема.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Автор темы   Непрочитано 28.04.2014, 11:28
#11
MrBrown

ПенсионЭр
 
Регистрация: 26.06.2009
Сообщений: 359


Krieger, ай, спасибо!!!! Всё работает, как надо!!!
Моя вам великая благодарность.
MrBrown вне форума  
 
Непрочитано 28.04.2014, 11:37
#12
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


ИМХО, все настройки должны принудительно устанавливаться "послою", масштаб линий равен 1, слой для этих штриховок должен быть обособлен, т.е. называться как то так "Штриховка домов" и если этого слоя нет, он должен создаваться автоматически. Настройки штриховки должны быть отделены от кода и прописаны в отдельной процедуре (штрихуется же не только дома, так что настройки штриховки могут быть разные и каждый раз когда хочешь заштриховать дома их не перебивать).
Как то так...
Boxa вне форума  
 
Непрочитано 28.04.2014, 12:15
#13
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Я, обычно, все это в параметры функции вывожу, однако заказчик доволен.
Цитата:
автоматически заштриховалась бы штриховкой по умолчанию
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 28.04.2014, 14:17
#14
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Дай бог! я только рад этому.
Boxa вне форума  
 
Непрочитано 28.04.2014, 17:06
#15
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


https://chronicle.autodesk.com/main/...3-355b956d95ef
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 29.04.2014, 14:46
#16
Эдуард

строительство
 
Регистрация: 16.01.2004
Петербург
Сообщений: 165
<phrase 1=


Здравствуйте.
Зачем изобретать велосипед.
Посмотрите штатную команду Автокада -Hatch
Эдуард вне форума  
 
Непрочитано 29.04.2014, 15:02
#17
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Эдуард, Здравствуйте. Попробуйте прочитать тему с самого начал.
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос автоматической штриховки замкнутой полилинии

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение и удаление обьектов внутри замкнутой полилинии. Как? DTwice AutoCAD 5 18.05.2009 14:31
Задание начальной точки у замкнутой полилинии Sky_cool Программирование 2 23.01.2008 11:11
Макрос для полилинии SloNN AutoCAD 1 30.10.2007 12:21
некорректно определяется площадь замкнутой полилинии elena_din AutoCAD 16 23.09.2005 17:37