Серия обучающих вебинаров по nanoCAD
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

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

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

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

lloydst вне форума Вставить имя

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


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


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


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


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


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


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

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 584


Простейшая программа:
Код:
[Выделить все]
(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)
)
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.06.2018, 12:55
#6
Сергей812


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


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

идущий по граблям
 
Регистрация: 26.05.2005
Днепропетровск
Сообщений: 3,744


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

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

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


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



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


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


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

идущий по граблям
 
Регистрация: 26.05.2005
Днепропетровск
Сообщений: 3,744


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


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


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

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

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 584


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

идущий по граблям
 
Регистрация: 26.05.2005
Днепропетровск
Сообщений: 3,744


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

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

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


 
Регистрация: 07.09.2005
Сообщений: 92
Отправить сообщение для 4eh с помощью ICQ


Можно еще так
Код:
[Выделить все]
 (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 > Нужен лисп или макрос, рисующий перечеркнутый прямоугольник по двум точкам

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен макрос для AutoCAD, экспортирующий список деталей в текстовый файл technos Программирование 20 24.10.2015 18:11
Нужен лисп: открытие всех файлов в данной директории Torino LISP 27 08.05.2011 13:30
Нужен лисп (пронизыватель лайаутов) 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

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||