ADN Club > AutoLisp / VisualLISP и DCL
Свойства чертежа через AutoLisp
SilverWork:
Можно ли как-то получить значения свойств чертежа (_dwgprops) с помощью AutoLisp?
Видел форуме решение через .NET, а вот на лиспе не смог найти.
Александр Ривилис:
SilverWork,
Тут готовое решение: http://maestrogroup.com.ua/support/getdwgprops.zip
SilverWork:
Спасибо. Это решение я видел.
Т.е. стандартными средствами AutolLisp в открытом чертеже эту информацию не получить?
Я думал, что надо просто какой-то словарь прочитать.
Александр Ривилис:
SilverWork,
Пример из документации:
--- Код - Auto/Visual Lisp [Выбрать] ---(vl-load-com)(defun c:Example_SummaryInfo() ;; This example shows how to access drawing properties (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq summaryInfo (vla-get-SummaryInfo doc)) ;; Add and display standard properties (vla-put-Author summaryInfo "John Doe") (vla-put-Comments summaryInfo "Includes all ten levels of Building Five") (vla-put-HyperlinkBase summaryInfo "http://www.autodesk.com") (vla-put-Keywords summaryInfo "Building Complex") (vla-put-LastSavedBy summaryInfo "JD") (vla-put-RevisionNumber summaryInfo "4") (vla-put-Subject summaryInfo "Plan for Building Five") (vla-put-Title summaryInfo "Building Five") (setq author (vla-get-Author summaryInfo)) (setq comments (vla-get-Comments summaryInfo)) (setq HLB (vla-get-HyperlinkBase summaryInfo)) (setq KW (vla-get-Keywords summaryInfo)) (setq LSB (vla-get-LastSavedBy summaryInfo)) (setq RN (vla-get-RevisionNumber summaryInfo)) (setq subject (vla-get-Subject summaryInfo)) (setq Title (vla-get-Title summaryInfo)) (alert (strcat "The standard drawing properties are " "\nAuthor = " author "\nComments = " comments "\nHyperlinkBase = " HLB "\nKeywords = " KW "\nLastSavedBy = " LSB "\nRevisionNumber = " RN "\nSubject = " Subject "\nTitle = " Title ) ) ;; Add and display custom properties (setq CustomPropertyBranch "Branch") (setq PropertyBranchValue "Main") (setq CustomPropertyZone "Zone") (setq PropertyZoneValue "Industrial") ;; Add custom properties (if (>= (vla-NumCustomInfo summaryInfo) 1) (vla-SetCustomByIndex summaryInfo 0 CustomPropertyBranch PropertyBranchValue) (vla-AddCustomInfo summaryInfo CustomPropertyBranch PropertyBranchValue) ) (if (>= (vla-NumCustomInfo summaryInfo) 2) (vla-SetCustomByKey summaryInfo CustomPropertyBranch "Satellite") (vla-AddCustomInfo summaryInfo CustomPropertyZone PropertyZoneValue) ) ;; Get custom properties (vla-GetCustomByIndex summaryInfo 0 'Key0 'Value0) (setq Key1 CustomPropertyZone) (vla-GetCustomByKey summaryInfo Key1 'Value1) (alert (strcat "The custom drawing properties are " "\nFirst property name = " Key0 "\nFirst property value = " Value0 "\nSecond property name = " Key1 "\nSecond property value = " Value1 ) ))
SilverWork:
Спасибо.
Еще вот тут https://forums.autodesk.com/t5/vba/reading-part-of-dwg-props/td-p/297354 нашел вариант прочитать словарь DWGPROPS, но пока еще не проверял.
Навигация
Перейти к полной версии