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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Разбить объедененные 3D объекты

Разбить объедененные 3D объекты

Ответ
Поиск в этой теме
Непрочитано 21.10.2009, 22:30 #1
Разбить объедененные 3D объекты
Verba
 
Украина. г.Черкассы
Регистрация: 01.09.2007
Сообщений: 79

Как разгрупировать объекты после команды вычитание.
Вычитать по отдельности как то неохота.
AutoCad 2007 русский.
зы. знал но забыл,давно не юзал AutoCad.
__________________
:)
Просмотров: 13781
 
Непрочитано 21.10.2009, 22:59
#2
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


_separate или _separete, облом включать акад
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 22.10.2009, 08:09
#3
Хмурый


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


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
_separate или _separete, облом включать акад
Нет таких команд.
Тела разделяются при помощи подопции _seParate solids опции _Body команды _solidedit

Цитата:
_SOLIDEDIT
Solids editing automatic checking: SOLIDCHECK=1
Enter a solids editing option [Face/Edge/Body/Undo/eXit] <eXit>: _b
Enter a body editing option
[Imprint/seParate solids/Shell/cLean/Check/Undo/eXit] <eXit>: _p
Select a 3D solid:
Цитата:
редтел
Автоматическая проверка тел при редактировании: SOLIDCHECK=1
Задайте опцию редактирования тела [Грань/Ребро/Тело ACIS/Отменить/выХод]
<выХод>:т
Задайте опцию редактирования тела
[Клеймить/Разделить/оБолочка/Упростить/Проверить/Отменить/выХод] <выХод>:
р
Выберите 3D тело:
Хмурый вне форума  
 
Автор темы   Непрочитано 23.10.2009, 13:29
#4
Verba


 
Регистрация: 01.09.2007
Украина. г.Черкассы
Сообщений: 79
<phrase 1=


Цитата:
Тела разделяются при помощи подопции _seParate solids опции _Body команды _solidedit
Что то не идет команда , циклически повторяется и все.
файл прилагаю.
Вложения
Тип файла: dwg
DWG 2007
Чертеж1.dwg (47.7 Кб, 2380 просмотров)
__________________
:)
Verba вне форума  
 
Непрочитано 23.10.2009, 14:26
#5
Хмурый


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


разделяются только тела, которые не соприкасаются, как в приложенном примере. Иначе- использовать команду _slice
Вложения
Тип файла: dwg
DWG 2007
Чертеж1 review.dwg (80.9 Кб, 2376 просмотров)
Хмурый вне форума  
 
Непрочитано 11.04.2011, 09:11
#6
Dub


 
Регистрация: 15.04.2008
Екатеринбург
Сообщений: 166


спасибо этот форум лучше любого хелпа.
Dub вне форума  
 
Непрочитано 11.04.2011, 09:36
#7
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от Dub Посмотреть сообщение
спасибо этот форум лучше любого хелпа.
Но вот только ты тему старую нашёл,
Цитата:
Сообщение от Хмурый Посмотреть сообщение
разделяются только тела, которые не соприкасаются, как в приложенном примере. Иначе- использовать команду _slice
Позднее, почти год спустя, Дима_ любезно написал альтернативу команде ВЫЧИТАНИЕ(_subtract), subtr - которая так же производит вычитание, но не объединяет объекты, и даже не удаляет вычитаемый объект.
__________________
Почему все вдруг становятся умными, когда уже не надо?

Последний раз редактировалось Disney, 11.04.2011 в 11:19.
Disney вне форума  
 
Непрочитано 05.10.2018, 13:22
#8
ivp


 
Регистрация: 02.11.2007
Тольятти
Сообщений: 9


Помогите разбить множество объектов на отдельные тела! Команда _separate отлично воздействует на каждый, но объектов сотни! А группового выбора нет... Может у кого то есть скрипт?
ivp вне форума  
 
Непрочитано 05.10.2018, 14:13
1 | #9
Хмурый


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


ivp, а ты их все объедини _UNION, а потом примени эту опцию _separate
Хмурый вне форума  
 
Непрочитано 05.10.2018, 14:25
#10
ivp


 
Регистрация: 02.11.2007
Тольятти
Сообщений: 9


Ругается!
The Boolean operation on solids failed.
Modeling Operation Error:
System inconsistency processing edge coincidence.
Может какую переменную выключить? AutoCAD 2007

----- добавлено через ~4 ч. -----
Цитата:
Сообщение от Хмурый Посмотреть сообщение
ivp, а ты их все объедини _UNION, а потом примени эту опцию _separate
Огромное спасибо! Метод отличный! Пришлось склеить сначала секущими плоскостями, потом ими же разрезать и все заработало! Возможно операция не всегда нужна, но в моем случае поставила мозги на место каким то солидам.
ivp вне форума  
 
Непрочитано 05.10.2018, 18:09
#11
Хмурый


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


ivp, ОК.
PS опции команды _solidedit частенько глючат
Хмурый вне форума  
 
Непрочитано 06.10.2018, 14:47
#12
ivp


 
Регистрация: 02.11.2007
Тольятти
Сообщений: 9


Печаль такая... Часть слоев сделал с помощью объединения/разделения... Но на других объекты сложно пересекаются, либо в них еще какие то непонятные деффекты.
При попытках объединения вываливаются ошибки:

Modeling Operation Error:
Vertex intersection found but stored pointer NULL.
или

Modeling Operation Error:
Inconsistent containment of intersection curve.

Бывает, что и объединять вредно, тк сливаются части которые не должны.

Может у кого то все же есть скрипт по последовательному separate объектов? Так как Separate на каждый объект в отдельности применяется нормально.
Может удастся дописать скрипт Дима_ subtr, чтобы не только вычитал объекты, но и разделял на солиды результат? Там ведь перебор идет...
Помогите скриптом или советом!

=====
После поисков, предполагаю, что объединяет все же нормально. Просто среди солидов затесалось несколько блоков с солидом внутри. Но остается вторая часть вопроса: Объединяются солиды, которые потом не разрежешь.

Последний раз редактировалось ivp, 06.10.2018 в 23:19. Причина: Часть вопроса решена.
ivp вне форума  
 
Непрочитано 07.10.2018, 08:19
#13
Marsikus

software quality engineer
 
Регистрация: 19.09.2009
Харьков, Украина
Сообщений: 435


Блоки можно выбрать по признаку того что они блоки и взорвать.
__________________
energokot.blogspot.com
Marsikus вне форума  
 
Непрочитано 07.10.2018, 16:09
#14
ivp


 
Регистрация: 02.11.2007
Тольятти
Сообщений: 9


Цитата:
Сообщение от Marsikus Посмотреть сообщение
Блоки можно выбрать по признаку того что они блоки и взорвать.
Да блоки уже взрываю. Все в порядке. Что возможно - объединяю...
Однако объединять оказалось не всегда приемлемо. Не все возможно разделить по слоям сразу и не все удается разделить после слияния. Нужен конвейерный скрипт для separate объектов из набора. он из нескольких строк, но я пока его не в силах сделать.
ivp вне форума  
 
Непрочитано 09.10.2018, 19:58
#15
ivp


 
Регистрация: 02.11.2007
Тольятти
Сообщений: 9


Ужас ситуации заставил самого писать лисп в первый раз... Как ни странно, он заработал. Хотя я в нем понял не не многое...
Код:
[Выделить все]
 
(defun C:SEPARXX ( / bss lbss n m ent)
(princ "\nВыберите объеты: ")
(setq bss (ssget))
(if bss
    (progn
    (setq lbss (sslength bss) n 0 m 0)
    (repeat lbss
            (setq ent (ssname bss n))
            (if (= (cdr (assoc 0 (entget ent))) "3DSOLID")
                (progn
                (vl-cmdf "_SOLIDEDIT" "_B" "_P" ent "_X" "_X")
                (setq m (+ m 1))
                ) ; progn
             ) ; if
             (setq n (+ n 1))
    ) ; repeat
    (princ "\nРазделено на составляющие ") (princ m) (princ " 3DSOLID.")
    ) ; progn
    (princ "\nНичего не выбрано.")
) ; if
(princ)
)
ivp вне форума  
 
Непрочитано 14.10.2018, 12:15
#16
ivp


 
Регистрация: 02.11.2007
Тольятти
Сообщений: 9


Подскажите, что нужно добавить в вышеприведенную функцию, чтобы каждый подобъект оставался на слое исходного объекта? Сейчас они распределяются между исходным слоем и активным.

----- добавлено через ~2 ч. -----
Вот так вроде заработало:
Код:
[Выделить все]
 
(defun C:SEPARXX ( / bss lbss n m ent ed)
(princ "\nВыберите объекты: ")
(setq bss (ssget))
(if bss
    (progn
    (setq lbss (sslength bss) n 0 m 0)
    (repeat lbss
            (setq ent (ssname bss n))
            (if (= (cdr (assoc 0 (entget ent))) "3DSOLID")
                (progn
				(setq ed (cdr (assoc 8 (entget ent))))
				(setvar "CLAYER" ed)
                (vl-cmdf "_SOLIDEDIT" "_B" "_P" ent "_X" "_X")
                (setq m (+ m 1)) ; считаем, сколько разделено
                ) ; progn
             ) ; if
             (setq n (+ n 1))
    ) ; repeat
    (princ "\nРазделено на составляющие ") (princ m) (princ " 3DSOLID.")
    ) ; progn
    (princ "\nНичего не выбрано.")
) ; if
(princ)
)
ivp вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Разбить объедененные 3D объекты

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Civil 3D объекты профилирования Vladimir Hotsanovich Вертикальные решения на базе AutoCAD 15 29.04.2015 14:30
3D объекты и quick select. Trouble! ExDK AutoCAD 9 01.11.2008 18:34
3d объекты выглядят разорваными phantom_l AutoCAD 14 11.07.2008 19:43
объекты 3D Galyam AutoCAD 7 13.10.2006 17:02
спиральные объекты 3d Igor_123 AutoCAD 1 13.10.2004 05:56