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

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

Как лучше создать набор по фильтру и рамке

Ответ
Поиск в этой теме
Непрочитано 16.12.2015, 06:04 #1
Как лучше создать набор по фильтру и рамке
vladimirr_b
 
Регистрация: 24.01.2012
Сообщений: 83

Как лучше создать набор из объектов находящихся в указанной пользователем рамке и с фильтром: "X" '((0 . "INSERT") (8 . "Штамп")) ?
Просмотров: 3077
 
Непрочитано 17.12.2015, 09:58
1 | #2
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


Ни черта не понял. Если надо выбрать рамкой, то используйте другой метод. Например, "_W" или "_C". Если хотите выбирать несколькими рамками, как при обычном выборе объектов в АКАДе, то метод вообще не нужен.
__________________
Автоматизация должна быть автоматической.
ProPeller вне форума  
 
Автор темы   Непрочитано 17.12.2015, 12:00
#3
vladimirr_b


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


подробнее: в наборе ss1 нужно собрать объекты которые одновременно отвечают следующим условиям: они находятся в пространстве модели, они являются вхождениями блока, они находятся в слое "Штамп", они расположены в рамке которую укажет пользователь.

Я предполагаю реализовать это следующим образом: функцией ssget без фильтров получить набор ss0 путем указания рамки (в набор войдут все примитивы расположенные в рамке), далее циклом перебирать каждый элемент полученного ранее набора, и если текущий элемент находиться в нужном мне слое и является блоком, то добавлять его в набор SS1. Но этот алгоритм, мне кажется, является не очень рациональным.
vladimirr_b вне форума  
 
Непрочитано 17.12.2015, 12:15
1 | #4
Кулик Алексей aka kpblc
Moderator

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


(ssget '((0 . "INSERT") (8 . "Штамп")))
Чем не устраивает?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.12.2015, 03:22
#5
vladimirr_b


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
(ssget '((0 . "INSERT") (8 . "Штамп")))
Чем не устраивает?
Спасибо большое, это мне и было нужно! Я не знал что без "X" ssget будет так работать.

----- добавлено через ~7 мин. -----
А еще вопрос, если имя слоя находится в переменной, как создать набор из объектов которые находятся в этом слое?

Пытался выполнить так:
(setq lay1 "Штамп")
(ssget '((0 . "INSERT") (8 . 'lay1)))
но, Lisp ругается

Последний раз редактировалось vladimirr_b, 18.12.2015 в 03:29.
vladimirr_b вне форума  
 
Непрочитано 18.12.2015, 09:38
1 | #6
Кулик Алексей aka kpblc
Moderator

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


И будет ругаться. Изучай разницу между ' и list / cons:
Код:
[Выделить все]
 (setq lay1 "Штамп")
(ssget (list '(0 . "INSERT") (cons 8 lay1)))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как лучше создать набор по фильтру и рамке

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, существуют ли практические руководства по Lisp? vn LISP 261 26.11.2015 13:27
Как создать набор из текстовых объектов по части содержимого? SilvioManuel AutoCAD 18 27.01.2011 15:05
Своя штриховка - как лучше создать и использовать? discovery AutoCAD 3 08.11.2009 14:06
Как в Акад 2006 программно создать подшивку с заданным набор kp+ Программирование 4 16.03.2009 23:23
Создать набор листов? Kotsar AutoCAD 4 26.05.2007 22:41