Как отвязать позиции от чертежа?

Автор Олеся_Орен, 09.11.23, 14:57:04

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Nipal

Цитата: Олеся_Орен от 10.11.23, 09:15:04Интересно, но ничего не понятно. Что это, зачем, как с помощью этого решить мою проблему?
Для этого существуют примеры, тем более, что Вы владеете языком программирования Delphi.
Delphi_Samples.png

Вират Лакх

Цитата: Олеся_Орен от 10.11.23, 09:15:04Интересно, но ничего не понятно. Что это, зачем, как с помощью этого решить мою проблему?
Рано или поздно Вы вернётесь к программированию :)
Вам же надо только у Стандартных изделий? Питон Вы вроде недавно у себя настраивали. Код ниже сохраните в текстовик с расширением .pyw и запустите двойным кликом. Должны отвянуть. Возможно, понадобится Обновить изображение, чтобы цвет позиций сменился на чёрный.
from win32com.client import gencache
import pythoncom

api7 = gencache.EnsureModule('{69AC2981-37C0-4379-84FD-5DD2F3C0A520}', 0, 1, 0)
iApplication = api7.IApplication(pythoncom.connect('Kompas.Application.7'))

base_objects = iApplication.ActiveDocument.SpecificationDescriptions.Active.BaseObjects
for i in range(base_objects.Count):
iSpecificationBaseObject = base_objects.Item(i)
iSpecificationObject = api7.ISpecificationObject(iSpecificationBaseObject)
if iSpecificationObject.Section == 25: # Стандартные изделия
iSpecificationBaseObject.Geometry = tuple(filter(lambda x: api7.IKompasAPIObject(x).Type != 13058, iSpecificationBaseObject.Geometry))
iSpecificationObject.Update()

Ушкуй

 Для оперативного решения проблемы используем Преобразование спецификации во фрагмент.

СВ

#23
Вот свежайший пример (4 минуты), как СП работает по разному.
Проверяю чужую работу: в СП подсборки есть деталь, её чертёж, модель привязаны

К20. Спецификация. Привязка деталей -1.png

захожу в саму деталь - связи с чертежом нет

К20. Спецификация. Привязка деталей -2.png

Спрашиваю - ты привязывал чертёж к детали? Нет, говорит, у меня они сами привязываются.
То же самое у него и с подсборками.
У него - сами, а у меня - только вручную.
Что это - настройки? А какие? Или глюки?

YNA

Цитата: lavgirb от 09.11.23, 15:49:21КОМПАС-3D V22.
Установили на работе, возможно в других версиях работает.
Управление > Спецификация > Описания спецификаций
Удалите все описания спецификаций.
Тогда номера позиций КОМПАС будет брать из атрибута "Позиция" компонента сборки.
Какой номер позиции туда запишите, такой и появится на полке линии-выноски.
Удобно через Формат имени в дереве Документа добавить в имя в дереве атрибут "Позиция". Лучше перед Обозначением и с префиксом "Поз. "
Я это делаю и для сборки и для сборочного чертежа.
В список свойств компонента в сборке и в чертеже тоже добавляю атрибут "Позиция" для контроля.

Делаю так недавно, поэтому если будете пробовать, напишите сюда результат.
Нет не сработало, спецификация генерируется автоматически при каждом клике по Обозначению позиции.
Вот на гифке показан описанный выше лайфхак по расблокировке текста позиции, причём ни какого разрыва модели и чертежа (как предлгал VIO) здесь нет.
Ещё один лайфхак: вместо Обозначения позиции использовать инструмент Марка/позиционное обозначение, который ни каким боком не связан со спецификациями и прочей лабудой. Переключается: Файл-Специлизация-СПДС чертёж.
Третий лайфхак - перейти на 22-ю версию. Глюк до конца не изжит, но намного легче бороться.  :sun: 
+ Благодарностей: 1

Валерий Изранов

Вся страна с потом на лице делает импортозамещение, а у YNA постоянно лайфхак лайфхак...
По русски это всего лишь "совет". Понятней и писать короче.

YNA

Цитата: Валерий Изранов от 10.11.23, 10:34:43Вся страна с потом на лице делает импортозамещение, а у YNA постоянно лайфхак лайфхак...
По русски это всего лишь "совет". Понятней и писать короче.
Ну ладно, согрешил  :shu:  , с кем не бывает?  :angel:

KiDim

Ну так в новых версия Компас хранит ОС в чертеже, если они не пришли из 3D модели. Удалите специю из чертежа или отключите связь с 3D моделью. Не будет ОС - не будет связи. А сама специя сейчас - это просто отчет.

YNA

Цитата: KiDim от 10.11.23, 10:45:32Удалите специю из чертежа или отключите связь с 3D моделью. Не будет ОС - не будет связи. А сама специя сейчас - это просто отчет.
Пройденный этап. В этом случае придётся ловить чёрную кошку в тёмной комнате. Блокировка ввода будет такая же глухая, только пустотой и эту пустоту из пустой ячейки придётся так же удалять. Но это глючит только при вставке нового вида с модели и легко лечится перезагрузкой.
Кстати, в 22-й версии можно воспользоваться инструментом Преекционный вид и при этом блокировки ввода номера позиции не произойдёт. В 21-й версии это невозможно, только лечебно-профилактическая перезагрузка. Так что лёд тронулся, господа присяжные заседатели!

VIO

#29
Лишь бы мы не "тронулись" после этого.
:-)))

Дмитрий22

Не знаю как Вы, но я позиции никогда не отвязываю. Зачем? Это же не удобно! Нужно отслеживать их. Ну, да, пропадают иногда на чертеже, перегрузил Компас и они снова появятся! Правда, я пользуюсь спецификациями на поле чертежа. Возможно, на отрывных больше глюков.
+ Благодарностей: 1

СВ

 Не отвязывать - полностью солидарен. Практически всегда удаётся исправить.
Другое дело - аварийная выдача проекта, как у Олеси.

Дмитрий22

У меня все проекты аварийные, никогда не приходило в голову отвязывать позиции. В последних версиях Компас с позициями научился работать, не считая периодического пропадания с экрана (что лечится перезагрузкой Компаса). Имейте ввиду, с каждой версией Компас становится умнее и в каждой новой версии его становится все сложнее обманывать. Как в прочем и Solidworks. Дошло до того, что новый SW если не находит файлы, начинает их искать самостоятельно, научился, зараза восстанавливать сам потерянные ссылки. когда его об этом не просят. 17 SW так не умел. ИИ рулит!!! и чем дальше, тем больше!

lavgirb

Цитата: YNA от 10.11.23, 10:07:23Нет не сработало, спецификация генерируется автоматически при каждом клике по Обозначению позиции.
У меня работает. И еще у двух коллег тоже работает. V22
Спецификации делаем в Excel. Потом номера позиций переносим (программно) в атрибут "Позиция" компонентов сборки.
Проставляем номера позиций на сборочном чертеже. Они все соответствуют атрибутам "Позиция", которые соответствуют спецификации в Excel.
Этому способствует удаление описаний спецификаций из сборки и сборочного чертежа.
Больше от номеров позиций ничего и не надо.
Если потом поменять номера позиций в компонентах, на СБ номера позиций тоже изменятся: СП -> Сборка -> СБ

Номера позиций.jpg

IgorT

Цитата: lavgirb от 10.11.23, 12:37:16...
Спецификации делаем в Excel. ...
Что мотивировало вас на такое решение? С Компасом никак нельзя дружить?

СВ

#35
Цитата: lavgirb от 10.11.23, 12:37:16... Спецификации делаем в Excel. ...
Если потом поменять номера позиций в компонентах, на СБ номера позиций тоже изменятся: СП -> Сборка -> СБ
А точки позиций привязаны к компонентам на СБ, к изображению, так сказать (т.е. если если чертёж перестроится и всё передвинется, передвинутся ли и позиции следом)? И перестраивается ли автоматически СП при любых изменениях?
Одним словом: как с ассоциативностью?

Вират Лакх

Цитата: Дмитрий22 от 10.11.23, 12:13:49Имейте ввиду, с каждой версией Компас становится умнее и в каждой новой версии его становится все сложнее обманывать.
Видимо после моих разговоров с СТП о соответствии свойства Позиция, Редактора свойств и спецификации они обрубили возможность ввода текстового значения в свойство "Позиция" компонента. При том, что тип свойства - строка. Лучше бы проработали текстовые значения дальше, но запретить же легче. А друг некоторым нужны текстовые позиции типа С107...

IgorT


YNA

Ну да, буквы туда не добавишь, а без них невозможно. Потому Позиции и Спецификации для нас так же нужны "как в бане пасатижы".  :-)))

lavgirb

Цитата: Вират Лакх от 10.11.23, 12:57:01Видимо после моих разговоров с СТП о соответствии свойства Позиция, Редактора свойств и спецификации они обрубили возможность ввода текстового значения в свойство "Позиция" компонента. При том, что тип свойства - строка. Лучше бы проработали текстовые значения дальше, но запретить же легче. А друг некоторым нужны текстовые позиции типа С107...
До кучи. В V22 не ставится номер позиции 0.
В своей практике встречал цифробуквенные номера позиций типа 8а.