Jo, die haben tatsächlich eine Ideee
Mit vbscript holt man sich die Wand, davon dann die eingetragene Verschneidungsgruppe und davon wiederum dann den Namen.
Ausformuliert sieht das dann z.B. wie folgt aus:
Code:
on error resume next
Set acadApp = GetObject(,"AutoCAD.Application")
acadVerString = acadApp.ActiveDocument.GetVariable("ACADVER")Select Case acadVerString
Case "18.2s (LMS Tech)" 'ACA-2012
aecBaseVer = "AecX.AecBaseApplication.6.7"
Case "19.0s (LMS Tech)" 'ACA-2013
aecBaseVer = "AecX.AecBaseApplication.7.0"
Case "19.1s (LMS Tech)" 'ACA-2014
aecBaseVer = "AecX.AecBaseApplication.7.5"
Case "20.0s (LMS Tech)" 'ACA-2015
aecBaseVer = "AecX.AecBaseApplication.7.7"
Case "20.1s (LMS Tech)" 'ACA-2016
aecBaseVer = "AecX.AecBaseApplication.7.8"
Case "21.0s (LMS Tech)" 'ACA-2017
aecBaseVer = "AecX.AecBaseApplication.7.9"
Case Else
aecBaseVer = "Unknown"
End Select
If aecBaseVer = "Unknown" Then
RESULT = "Unknown Version"
Else
Set aecBase = acadApp.GetInterfaceObject(aecBaseVer)
aecBase.Init acadApp
Set wallObj = acadApp.ActiveDocument.ObjectIDToObject( [ObjectID] )
Set cleanupGroup = wallObj.CleanupGroup
Result = cleanupGroup.Name
End If
Wie üblich muss man zuvor ObjectID als Eigenschaft angelegt haben und in dem Script dann unten aus den Eigenschaftsdefinitionen mit Doppelklick übernehmen (so dass es grau unterlegt dargestellt wird).
sayonara
Torsten Möhlenhoff
ACAD-Systemhaus Bremen
------------------
Tadle nicht den Fluss, wenn Du ins Wasser fällst.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP