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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Управление параметром видимости дин. блока через sheetset custom properties

Управление параметром видимости дин. блока через sheetset custom properties

Ответ
Поиск в этой теме
Непрочитано 10.06.2008, 11:23 #1
Управление параметром видимости дин. блока через sheetset custom properties
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,980

У меня часто встречаются типовые проекты, почти все различия можно отразить через поля вставленные по чертежу и читающие свойства подшивки. Это такие поля как код проекта, некоторые данные типа подвес антенн и т.п. Заполняю все в подшивку, поля автоматом все подхватывают (хотя тут не все так гладко, но это другая тема).
Дело в том, что не все параметры можно передать через поля. К примеры в зависимости от одного из свойств подшивки (варианты 1 и 0) спецификация на одном из листов подшивки кардинально изменяется (формулами не передать). Можно создать дин. блок спецификации, в котором два параметра видимости, на случаи 0 и 1, но вот как заставить этот параметр автоматически изменятся, в зависимости от значения указанного в подшивке, этого у меня не получается.
Как вы думаете ситуация тупиковая, и без индивидуального вмешательства спеку не подправить?
К стати это не обязательно должен быть дин. блок, может что-то другое посоветуете.
__________________
Блог
Просмотров: 2969
 
Автор темы   Непрочитано 11.06.2008, 11:02
#2
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Ну ладно, по видимому стандартными средствами никак. А может лисп тут поможет? Можно заставить лисп читать свойства открытой подшивки?
__________________
Блог
Red Nova вне форума  
 
Непрочитано 11.06.2008, 11:38
#3
Кулик Алексей aka kpblc
Moderator

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


Если полагаться только на документацию, то лиспом добраться до свойств подшивки нереально. Правда это или нет - не знаю, не пробовал.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 11.06.2008, 11:56
#4
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Как ты думаешь ситуация тупиковая?
А если сделать так. Создаю мтекст, который ссылается на подшивку (в нем поле). Лисп читает уже не содержание подшивки, а содержание мтекста.
__________________
Блог
Red Nova вне форума  
 
Автор темы   Непрочитано 12.06.2008, 09:21
#5
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


__________________
Блог
Red Nova вне форума  
 
Непрочитано 14.06.2008, 01:20
#6
Кулик Алексей aka kpblc
Moderator

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


Содержание многострочного текста прочитать не проблема в общем-то. Лисп для изменения динамических свойств блока где-то болтался...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 14.06.2008, 10:06
#7
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Нашел несколько тем. Ты там поучаствовал. Но конкретно для решения моей проблемы там нету лиспа.
http://dwg.ru/f/printthread.php?t=13937&pp=1000
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=36637zq
Надо так:
Имею мтекст, имеющий ObjId 2130429216 (ну к примеру), в нем поле, ссылается на свойства подшивки.
Возможны два варианта содержания поля: 1 и 0.
Имею так же дин. блок (или блоки), у которых два параметра видимости, так же именуемые 1 и 0.
Прописываем в лисп ObjId, наименования блоков, а так же переменную 1 и 0. Забрасываем лисп в автозагрузку.
Если при открытии чертежа мтекст с ObjId 2130429216 находиться, и его содержание либо 1 либо 0, то по чертежу проходит поиск нужных дин блоков, в их свойствах параметр видимости выставляется в соответствии с содержанием мтекста. Если же мтекст с ObjId 2130429216 не найден, или содержание в не м не 0 или 1, то акад пропускает файл, и продолжает работать без лишней ругани.
Смогем?
__________________
Блог

Последний раз редактировалось Red Nova, 14.06.2008 в 10:39.
Red Nova вне форума  
 
Непрочитано 15.06.2008, 01:14
#8
Кулик Алексей aka kpblc
Moderator

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


Все здорово, кроме одного - ObjectID может от сессии к сессии меняться. И, честно говоря, пока общую идею как-то не уловил
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.06.2008, 14:27
#9
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Про общею идею.
У меня бывают типовые проекты, в которых измени порядка 20 индивидуальных данных и выпускай. Скажем 10 томов соединены через подшивку. В подшивке вписаны общие параметры. В всех томах (каждому тому свой файл) имеются поля, которые читают данные из подшивки, имеются и формулы на тех же данных основанные. Таким образом получается что заполнив данные в подшивке проект готов и без работы непосредственно с файлами. Но вот задача, есть одна спецификация в проекте (в общем таких случаев может быть и больше), которая кардинально меняется в зависимости от одного из свойств подшивки. В свойствах подшивки у меня есть строка “Сплиттер”, так вот если значение этой строки “0”, то спецификация имеет один вид, если значение этой строки “1”, то спецификация имеет другой вид. Думаю сделать динамический блок спецификации, у которого два параметра видимости: соответственно на случаи “1” и “0”. Ищу пути автоматизации изменения параметра видимости этого динамического блока в зависимости от значения строки “Сплиттер” в подшивке.
Из самой подшивки листы я не печатаю, для этого открываю через подшивку файлы, и даю публиш, это необходимо для правильного отображения полей (иначе они могут подхватить другую подшивку).
К чему я это рассказываю. К тому что так или иначе файл я до печати открою.
Вот и появилась идея, что если бы был лисп который при открытии файла корректировал параметр видимости конкретного дин блока, то было бы чудесно.
Как я понял лисп не может видеть свойства подшивки. Для этого можно создать промежуточный связной объект, который видит свойство подшивки, а его в свою очередь видит лисп. Таким объектом может быть мтекст в котором поле из подшивки.
Ты говоришь ID объекта переменчиво, для меня это новость, но в любом случае если создается поле (скажем в другом мтексте) зависимое от этого объекта, то ведь от сеанса к сеансу поле видит этот объект, и не путает его с другими. Я думал что это происходит благодаря ID, но возможно принцип и другой. Надеюсь ты знаешь больше меня и сможешь ввести в лисп зависимость от содержания конкретного мтекста.

P.S. Можешь переместить тему в программирование.
__________________
Блог
Red Nova вне форума  
 
Автор темы   Непрочитано 18.06.2008, 22:16
#10
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Кулик Алексей aka kpblc, Что надоела темка?
__________________
Блог
Red Nova вне форума  
 
Непрочитано 18.06.2008, 23:42
#11
Кулик Алексей aka kpblc
Moderator

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


Нет, просто требуют результата по работе (примерное описание с чем воюю есть здесь, в конце
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.06.2008, 09:29
#12
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Мда.
__________________
Блог
Red Nova вне форума  
 
Автор темы   Непрочитано 25.06.2008, 13:44
#13
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Эх не хочется темку хоронить. Такой потенциал пропадает. Представьте только сколько пользы может это дать. Сколько дин. блоков могут сами себя подправлять в зависимости от исходных данных.
__________________
Блог
Red Nova вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Управление параметром видимости дин. блока через sheetset custom properties

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение параметров дин блока ch-viktor Программирование 5 23.05.2008 21:38