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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Каким способом сделать выборку одинаковых элементов?

Каким способом сделать выборку одинаковых элементов?

Ответ
Поиск в этой теме
Непрочитано 28.07.2011, 15:43 #1
Каким способом сделать выборку одинаковых элементов?
denpro
 
Москва
Регистрация: 27.07.2011
Сообщений: 51

Имеется файл с элементами. Задача найти одинаковые по габаритам элементы. Все элементы прорисованы в полилиниях, при использовании стандартного автокадовского фильтра максимум можно найти несколько одинаковых прямоугольников, ( элементы ищутся по одинаковой длине полилиний) многоугольники не ищутся вообще...

Вложения
Тип файла: dwg
DWG 2007
Чертеж1.dwg (130.3 Кб, 2338 просмотров)

Просмотров: 8853
 
Непрочитано 28.07.2011, 16:14
#2
Manikin

ПГС
 
Регистрация: 10.02.2011
Сообщений: 44


можно искать по одинаковой площади - через qselect
Manikin вне форума  
 
Автор темы   Непрочитано 28.07.2011, 16:21
#3
denpro


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


через площадь и длину qselect (быстрый выбор) не ищет и стандартный фильтр выбора объектов тоже не работает... у всех объектов слой, тип линий, толщина одинаковая. Фильтрацию по этим параметрам не предлагайте.
denpro вне форума  
 
Непрочитано 28.07.2011, 16:25
#4
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Одинаковые между собой (т.е. возможно несколько "групп") или габаритно-равные какому-то определенному?
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 28.07.2011, 16:31
#5
denpro


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


нужно найти одинаковые детали(по площади или длине полилиний) из всей этой кучи и посчитать общее колличество одинаковых элементов
denpro вне форума  
 
Непрочитано 28.07.2011, 16:36
#6
Manikin

ПГС
 
Регистрация: 10.02.2011
Сообщений: 44


можно попробоватть задавать условие не равно, а больше и меньше, второй выбор из текущего выделения и менять эту площадь в последнем знаке после запятой. я так понимаю, что затыка в округлениях...например площадь фигуры отображается как 4950, а на самом деле 4949,99(9), поэтому и не выбирает
Manikin вне форума  
 
Автор темы   Непрочитано 28.07.2011, 16:41
#7
denpro


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


при таком раскладе выделяются все детали Нужен либо лисп в котором можно задать два граничных условия не больше и не меньше. Или другой способ нахождения однотипных деталей.
denpro вне форума  
 
Непрочитано 28.07.2011, 16:48
#8
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Давай еще раз у тебя детали типа 2,5,2,5,2,5,3,5
то есть три 2, четыре 5 и одна 3 - что тебе нужно получить? у тебя 7 одинаковых или 5+2 одинаковых - надо-ли эти одинаковые как-то отметить, можно например выбрал деталь - показало все одинаковые (написало их число) или еще как? - за тебя никто придумать не сможет (а если и сможет - то не так как тебе надо).
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 28.07.2011, 16:57
#9
denpro


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


В приложенном файле в самом верхнем левом углу есть треугольник - предложи способ найти такой же в оставшихся столбцах и выделить их дабы потом можно было их посчитать. Конечная цель выделить и посчитать одинаковые детали по колличеству (выбрал деталь - показало все одинаковые (написало их число))

Последний раз редактировалось denpro, 28.07.2011 в 17:02.
denpro вне форума  
 
Непрочитано 28.07.2011, 17:39
#10
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


В AutoCAD'е нет понятия "деталь".
Profan вне форума  
 
Автор темы   Непрочитано 28.07.2011, 17:45
#11
denpro


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


Цитата:
Сообщение от Profan Посмотреть сообщение
В AutoCAD'е нет понятия "деталь".
Для тех кто просто хочет выставить себя умником, просьба стучаться в другие форумы или на сайты знакомств. Вас там оценят.... Не знаете ответ,не пишите чушь......сверху дано подробно что и как требуется. Русский язык у всех свой и объяснить каждому на его русском просто не возможно.
denpro вне форума  
 
Непрочитано 28.07.2011, 18:14
#12
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


без программирования здесь не обойтись
Хмурый вне форума  
 
Непрочитано 28.07.2011, 18:43
#13
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Сообщение от denpro Посмотреть сообщение
Для тех кто просто хочет выставить себя умником, просьба стучаться в другие форумы или на сайты знакомств. Вас там оценят.... Не знаете ответ,не пишите чушь......сверху дано подробно что и как требуется. Русский язык у всех свой и объяснить каждому на его русском просто не возможно.
Сверху написана чепуха. Такие задачи не свойственны для AutoCAD'а. Если ты этого не понимаешь, то и ступай на другие форумы.
А для AutoCAD'а свойственны задачи выбора объектов. Сделай свои "детали" блоками и сможешь выполнять любую выборку по именам блоков. Умник, чтоб тебе треснуть.
Profan вне форума  
 
Непрочитано 28.07.2011, 18:47
#14
Klo

Инженер-конструктор
 
Регистрация: 29.10.2007
Юбилейный МО
Сообщений: 269


люблю такие задачки!
правильная бала подсказка, что стоит округление, т.к., если скопировать в новый файл, длина не круглая получается...
Klo вне форума  
 
Непрочитано 28.07.2011, 18:53
#15
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Klo, а _units не настроить в этом файле?
Хмурый вне форума  
 
Непрочитано 28.07.2011, 18:57
#16
Klo

Инженер-конструктор
 
Регистрация: 29.10.2007
Юбилейный МО
Сообщений: 269


да, там точность до целых настроена.
изменение точности на быстрый выбор не повлияют (не выберет)...
Klo вне форума  
 
Автор темы   Непрочитано 29.07.2011, 10:20
#17
denpro


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


Цитата:
Сообщение от Profan Посмотреть сообщение
Сверху написана чепуха. Такие задачи не свойственны для AutoCAD'а. Если ты этого не понимаешь, то и ступай на другие форумы.
А для AutoCAD'а свойственны задачи выбора объектов. Сделай свои "детали" блоками и сможешь выполнять любую выборку по именам блоков. Умник, чтоб тебе треснуть.
Твои слова :А для AutoCAD'а свойственны задачи выбора объектов. Так скажи способ как выбрать одинаковые объекты ( квадратики, круги, эллипсы, МНОГОУГОЛЬНИКИ) в этом файле. Блоки это утопия (в этом файле если создавать блоки их будет 281 шт и это самый маленький файл вам был показан). А тебе совет - знаешь ответ пиши , не знаешь промолчи....
denpro вне форума  
 
Непрочитано 29.07.2011, 10:32
1 | #18
Klo

Инженер-конструктор
 
Регистрация: 29.10.2007
Юбилейный МО
Сообщений: 269


Благодаря сообщению profan'a пришла дельная мысль: можно воспользоваться data extractor'ом. Файл прилагаю. Подсчёт осуществлён.
Чертеж1.dwg
Klo вне форума  
 
Автор темы   Непрочитано 29.07.2011, 10:45
#19
denpro


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


вот здесь можно по подробнее.....в принципе этого достаточно...
denpro вне форума  
 
Непрочитано 29.07.2011, 10:54
#20
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от denpro Посмотреть сообщение
...предложи способ найти такой же в оставшихся столбцах и выделить их дабы потом можно было их посчитать. Конечная цель выделить и посчитать одинаковые детали по колличеству (выбрал деталь - показало все одинаковые (написало их число))
На попробуй - анализирует геометрию полилинии (учитывает только вершины - то есть без сопряжений, но у тебя там вроде их и нет):
Код:
[Выделить все]
 (vl-load-com)
(defun pl->list(pln)
  (mapcar 'cdr
         (vl-remove-if-not
           '(lambda (x) (= (car x) 10))
           (entget pln))))

(defun lst-pt->len-angle-list(lst)
  ((lambda (f-rec)
     (f-rec (angle (car lst) (cadr lst)) lst))
   (lambda (a1 lst)
    (if (cadr lst)
        (cons (cons (distance (car lst) (cadr lst))
                    ((lambda (a)
                      (if (< a 0)
                          (+ a (* 2.0 pi))
                          a))
                     (- a1 (angle (car lst) (cadr lst)))))
              (f-rec a1 (cdr lst)))))))
              
(defun c:find-analog()
  ((lambda (obr ss)
   (if obr (progn
     (mapcar '(lambda (ent) (ssadd ent ss))
       (vl-remove-if
         '(lambda (x) (or (listp x)
                          (not ((lambda (a)
                                  (or (equal (car obr) a 0.001)
                                      (equal (cdr obr) a 0.001)))
                                (lst-pt->len-angle-list (pl->list x))))))
         (mapcar 'cadr (ssnamex (ssget "_a" (list (cons 0 "lwpolyline")))))))
     (sssetfirst nil ss)
     (princ (strcat "Найденно " (rtos (sslength ss)) " объектов.")))
     (princ "Полилиния не выбранна..."))
     (princ))
   ((lambda (lst)
     (if lst (cons (lst-pt->len-angle-list lst)
                   (lst-pt->len-angle-list (reverse lst)))))
    ((lambda (ent)
       (if (and ent
                (= (type (car ent)) 'ENAME)
                (= (cdr (assoc 0 (entget (car ent)))) "LWPOLYLINE"))
           (pl->list (car ent))))
      (entsel "\nВыберите образец ")))
   (ssadd)))
p.s. запускать find-analog
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Каким способом сделать выборку одинаковых элементов?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация Проектировщику на Torrents DEM Разное 263 03.09.2024 12:25
Нужно усилить подпорную стену!! Каким способом? Homer Конструкции зданий и сооружений 12 07.05.2009 16:56
Каким способом лучше рассчитать здание? Andgy Прочее. Программное обеспечение 9 24.04.2007 11:50
Каким способом задать разные отметки перекрытий в Мономахе ANT Прочее. Программное обеспечение 3 26.02.2007 17:43
Каким способом изменить toolbar "object properties" B2Slow AutoCAD 7 02.09.2004 12:55