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

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

Нужен лисп или макрос, рисующий перечеркнутый прямоугольник по двум точкам

Ответ
Поиск в этой теме
Непрочитано 21.06.2018, 09:07 #1
Нужен лисп или макрос, рисующий перечеркнутый прямоугольник по двум точкам
lloydst
 
Регистрация: 03.07.2014
Сообщений: 6

Собственно, в заголовке вопрос. Обычный прямоугольник, с дополнительными линиями из угла в угол. Нужно на паре тысяч блоков нарисовать этот примитив, полилинией долго. Может, есть готовые решения?
Просмотров: 3015
 
Непрочитано 21.06.2018, 11:55
#2
PsixVK


 
Регистрация: 19.10.2012
Киев
Сообщений: 749


а зайти в блок и там нарисовать линию
использовать "заменить"
PsixVK вне форума  
 
Непрочитано 21.06.2018, 12:10
#3
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


все разного размера, что ли? копирование или динблок чем не подходят?
Сергей812 вне форума  
 
Непрочитано 21.06.2018, 12:19
#4
PsixVK


 
Регистрация: 19.10.2012
Киев
Сообщений: 749


пару тысяч блоков? визуально один и тот же с разными именами?
PsixVK вне форума  
 
Непрочитано 21.06.2018, 12:46
1 | #5
Setvar


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


Простейшая программа:
Код:
[Выделить все]
(defun C:RR ( / pt1 pt2 pt3 pt4)
(initget 7)
(setq pt1 (getpoint "\nПервая точка прямоугольника: "))
(initget 39)
(setq pt3 (getcorner pt1 " Вторая точка прямоугольника: "))
(vl-cmdf "_RECTANG" "_none" pt1 "_none" pt3)
(setq pt2 (list (nth 0 pt1) (nth 1 pt3)))
(setq pt4 (list (nth 0 pt3) (nth 1 pt1)))
(vl-cmdf "_LINE" "_none" pt1 "_none" pt3 "")
(vl-cmdf "_LINE" "_none" pt2 "_none" pt4 "")
(princ)
)
Setvar вне форума  
 
Непрочитано 21.06.2018, 12:55
#6
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


цикл явно не помешает - две тысячи раз вызвать команду...)
Сергей812 вне форума  
 
Непрочитано 21.06.2018, 14:06
#7
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
цикл явно не помешает - две тысячи раз вызвать команду...)
_multiple топикстартеру в помощь. но все равно задолбаться можно. По-хорошему, тут надо идти другим путем...

Цитата:
Сообщение от lloydst Посмотреть сообщение
Нужно на паре тысяч блоков нарисовать этот примитив
"Пара тысяч блоков" - это пара тысяч экземпляров одного блока? Или двух, трех, десяти разных блоков? И все ли их надо перечеркнуть, или только часть? И как определяется, какие именно?
Короче, пример чертежа в студию, можно не все две тысячи блоков, а так, с десяток-другой.

Последний раз редактировалось kp+, 21.06.2018 в 14:20.
kp+ вне форума  
 
Непрочитано 21.06.2018, 16:12
| 1 #8
PsixVK


 
Регистрация: 19.10.2012
Киев
Сообщений: 749



Offtop: рассмотр сего показал что нужно три раза плюнуть через плечо, постучать по дереву, сказать заветные слова "по моему хотенью станьте блоки перечеркнутыми" - резутьтат будет через три дня на рассвете. если не вышло - процедуру повторить
PsixVK вне форума  
 
Автор темы   Непрочитано 21.06.2018, 16:34
#9
lloydst


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


Сергей812, PsixVK, все блоки разные, с разными размерами. блок в 3d, динамический не подойдёт, т.к. после проектирования выгружается спецификация с именами блоков
lloydst вне форума  
 
Непрочитано 21.06.2018, 16:38
#10
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


Цитата:
Сообщение от lloydst Посмотреть сообщение
все блоки разные, с разными размерами. блок в 3d, динамический не подойдёт, т.к. после проектирования выгружается спецификация с именами блоков
Без примера чертежа - см. #8.
kp+ вне форума  
 
Автор темы   Непрочитано 21.06.2018, 16:41
#11
lloydst


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


kp+, это блок вентиляционного зонта, они разной глубины, разной ширины, разной формы, с блоком приточки и без, с освещением и без, центральные и пристенные. есть в блоке слой "план" для 2д, есть слой 3d, и теперь нужно новым слоем начертить этот прямоугольник на всех зонтах, чтобы на отдельном листе для вентиляционщиков выводился только этот перечеркнутый прямоугольник. Файл прицепил.

----- добавлено через ~5 мин. -----
Setvar, попробовал лисп - то, что надо! спасибо!)
Вложения
Тип файла: dwg
DWG 2010
МВО-0.5МСВ-0.8ПК.dwg (282.6 Кб, 23 просмотров)
lloydst вне форума  
 
Непрочитано 21.06.2018, 17:35
#12
Setvar


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


Цитата:
Сообщение от lloydst Посмотреть сообщение
Setvar, попробовал лисп - то, что надо! спасибо!)
Я всего лишь буквально реализовал запрос в названии темы.
Setvar вне форума  
 
Непрочитано 22.06.2018, 09:34
1 | #13
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


Цитата:
Сообщение от lloydst Посмотреть сообщение
они разной глубины, разной ширины, разной формы, с блоком приточки и без, с освещением и без, центральные и пристенные...нужно новым слоем начертить этот прямоугольник на всех зонтах
Итого сколько разновидностей по именам блоков (не по текстовым атрибутам или масштабу)? Если до нескольких десятков - правильнее всего внести перечеркнутый крест-накрест прямоугольник в определение каждого из блоков. Тогда он сразу везде появится.

Цитата:
Сообщение от lloydst Посмотреть сообщение
Файл прицепил
Файл, конечно, весьма информативный
Как выглядит перечеркнутый крест-накрест прямоугольник, я в общих чертах представляю Для более адекватного ответа нужно увидеть фрагмент плана с теми самыми блоками множества разновидностей вент. зонтов. Если религия служба безопасности или начальник не позволяет выложить такую информацию - разговор снова скатывается к #8.

Последний раз редактировалось kp+, 22.06.2018 в 09:40.
kp+ вне форума  
 
Непрочитано 25.09.2018, 18:35
#14
4eh


 
Регистрация: 07.09.2005
Сообщений: 97
<phrase 1=


Можно еще так
Код:
[Выделить все]
 (defun c:rx  ( / p2x p2y pt1 pt2 pt3 pt4)
   (setq  pt1  (getpoint  "\nLower left point:")
         pt3  (getpoint  "\nUpper right point:")
             p2x  (car  pt3)
             p2y  (cadr  pt1)
             pt2  (list  p2x  p2y)
             pt4  (list  (car  pt1)  (cadr  pt3))
   ) ;  end of point assignments
   (command  "pline"  pt1  pt2  pt3  pt4  "c")
(command  "pline"  pt1  pt3 pt2  pt4 "")

)
4eh вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп или макрос, рисующий перечеркнутый прямоугольник по двум точкам

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен лисп: открытие всех файлов в данной директории Torino LISP 30 28.11.2020 15:51
Нужен макрос для AutoCAD, экспортирующий список деталей в текстовый файл technos Программирование 20 24.10.2015 18:11
Нужен лисп (пронизыватель лайаутов) dextron3 LISP 91 25.07.2007 07:37
Нужен лисп (Автосетка) dextron3 LISP 9 17.07.2007 17:52
Нужен лисп (super offset) dextron3 LISP 23 25.06.2007 12:51