Связь значений (текста) в разных документах

Автор GRG, 27.06.21, 17:56:15

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

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

GRG

Появилась такая идея - связать тексты ( или макроэлемент с текстом) в разных документах.
Логика такая если изменился конкретный текст на чертеже  в одном документе, то он поменяется и в другом.
Может кто подскажет как к этой задаче можно подступиться?
Можно ли например через API добраться до содержимого документа, все текстовые значения, с их координатами?

Поиск и замена работает для всех значений. нет возможности например как в эксель пошагово, по элементно заменять.

p3452

Цитата: GRG от 27.06.21, 17:56:15Можно ли например через API добраться до содержимого документа, все текстовые значения, с их координатами?
Можно!
Есть в примеры SDK, и на форуме уже не раз, это обсуждали.

GRG

Цитата: p3452 от 27.06.21, 20:48:12Можно!
Есть в примеры SDK, и на форуме уже не раз, это обсуждали.
А можно подробнее?
например чтобы получить значение выделенное из спецификации -
iSpc = iDocumentSpc.GetSpecification()
obj = iSpc.ksGetCurrentSpcObject() #Получаем текущий выделенный объект
а как получить текущий текст надписи на чертеже (обычная надпись)

GRG

Замысел "прощелкать" нужные тексты на чертеже, с записью в файл. А потом уже работать с полученным списком

Toptotal

Цитата: GRG от 06.07.22, 21:34:47Замысел "прощелкать" нужные тексты на чертеже, с записью в файл. А потом уже работать с полученным списком
Вообще то это нет требуется,а сразу выводить нужные значения из файлов и по ним сортировать и работать. Список то Вам зачем? чтоб глядеть где что внутри файла, потом искать фаил и уже в нем менять или проверять ? Какиие свойство и версия файлов?

GRG

Цитата: Toptotal от 18.07.22, 03:08:14Вообще то это нет требуется,а сразу выводить нужные значения из файлов и по ним сортировать и работать. Список то Вам зачем? чтоб глядеть где что внутри файла, потом искать фаил и уже в нем менять или проверять ? Какиие свойство и версия файлов?
"Автоматизировать" рутину, чтоб меньше "Ctrl+C Ctrl+V" нажимать :)
Получить список тегов (выбирая надписи на чертеже с тегом), заполнить кабельный журнал и т.д.
Например обратный макрос я сделал, то есть могу подряд вставлять в чертеж по списку теги и наименования сигналов.

Slaviation

Добрый день, коллеги.
Попробовал замутить «схему» без программирования  :w: . Меняем тексты во фрагменте — меняются тексты в разных документах. Тексты в разных документах ссылаются на один источник — свойства фрагмента, который вставлен в эти документы.


    1. Создайте новую библиотеку свойств (lpt). Для этого КОМПАС-3D должен быть запущен в режиме администратора.
    2. Добавьте в библиотеку свойств строковые свойства, к примеру,  «Текст 1»,  «Текст 2»,  ... , «Текст N».
    3. Создайте новый фрагмент. Это уже можно делать в режиме обычного пользователя, а не в режиме администратора.
    4. Главное меню, Управление, Свойства документа.
    5. Нажмите кнопку «Управление свойствами».
    6. В диалоге «Управление свойствами» нажмите кнопку «Показать библиотеку».
    7. В  диалоге «Выберите файл для открытия» выберите созданную библиотеку свойств.
    8. Выберите все свойства (возможен групповой выбор с нажатой клавишей Shift) «Текст 1»,  «Текст 2»,  ... , «Текст N» и перенесите их в документ фрагмента,  нажав кнопку «Копировать вправо».
    9. Закройте диалог «Управление свойствами».
    10. В списке свойств фрагмента появились свойства «Текст 1»,  «Текст 2»,  ... , «Текст N».
    11. Заполните эти свойства требуемыми значениями.
    12. Сохраните фрагмент и закройте его.
    13. Создайте новый чертеж.
    14. Главное меню, Вставка, Фрагмент.
    15. В  диалоге «Выберите файл для открытия» выберите созданный ранее фрагмент.
    16. В процессе «Вставка фрагмента» установите опцию «Ссылкой».
    17. Укажите любое место вставки на чертеже.
    18. В дереве чертежа в узле «Фрагменты» селектируйте вставленный фрагмент.
    19. Контекстное меню, Свойства вставки фрагмента.
    20. Нажмите кнопку «Управление свойствами».
    21. Выберите (см. п. 6)  все свойства «Текст 1»,  «Текст 2»,  ... , «Текст N»  и перенесите их в документ чертежа, нажав кнопку «Копировать вправо».
    22. Закройте диалог «Управление свойствами».
    23. В списке свойств чертежа появились свойства «Текст 1»,  «Текст 2»,  ... , «Текст N»  с заданными во фрагменте значениями.
    24. На чертеже создайте любой объект, имеющий текстовую надпись: текст на чертеже, таблица,  размеры, технические требования и т. п.
    25. В панели процесса «Надпись > Ввод текста» нажмите кнопку «Ссылка».
    26. В диалоге «Ссылка» выберите «Тип источника» — Свойства объекта, и «Ссылка на» — вставленный фрагмент.
    27. В поле «Список источников» выберите «Текст 1» или любой другой.
    28. Закройте диалог «Ссылка».
    29. На чертеже создан объект с текстом, ссылающимся на одно из свойств во фрагменте.
    30. Измените свойство «Текст 1» во фрагменте и сохраните фрагмент.
    31. Соответствующий текст изменится на чертеже.
+ Благодарностей: 1