Zum Inhalt springen

Grafische Darstellung aller Klassen auf einer Konstruktionsebene


AONE KB

Frage

Geschrieben

Hallo in die Runde,

 

gibt es bei Vectorworks ein Tool oder ein Script, mit dem es möglich ist, alle in einer Datei angelegten Klassen grafisch auf einer Konstruktionsebene mit dem Klassennamen anzulegen?

Wir würden daraus dann gerne ein Symbol erstellen. Dieses Symbol könnte dann in andere Dateien referenziert / importiert werden, um die Klassenstruktur zu übertragen.

 

Hier eine vereinfachte Darstellung von dem was ich meine: 

 

Klassenstruktur:

 

image.thumb.png.86a3cdeb8bb4a78679dd5339680a75ef.png

 

 

Darstellung auf der Konstruktionsebene (in veränderter Reihenfolge):

 

image.thumb.png.d3905b9d3e600411c8ac6bb46f639af0.png

3 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben

Falls Marionette (so organisiere ich Klassensymbole und Übersichten)

ich habe damals zu gewissen Inhalten keine native Nodes gefunden und habe native Nodes minimal abgewandelt
vlt hilft das jemanden der mal diesen Thread findet...

Textur Name

#HebHeb 2024-05-23
@Marionette.NodeDefinition
class Params(metaclass = Marionette.OrderedClass):
#APPEARANCE
	#Name
	this = Marionette.Node( "Get Class Texture's Name" )
	this.SetDescription( 'Return a texture name given a class name' )

	#Input Ports
	className = Marionette.PortIn( 'Marionette-Math', 'sName' )
	className.SetDescription( "The name of the class" )

	#OIP Controls
	property = Marionette.OIPControl( "Property", Marionette.WidgetType.Popup, 0, ['Center', 'Dormer', 'Generic', 'Left', 'Right', 'Top'] )
	property.SetDescription( "The type of the texture" )

	#Output Ports
	texture = Marionette.PortOut('sTexture')
	texture.SetDescription( 'the name of the texture')

#BEHAVIOR
	

def RunNode(self):
	#inputs
	className = self.Params.className.value
	property = self.Params.property.value
	
	#script
	if property == 0:
		texture = vs.GetClTextureC(className)
	elif property == 1:
		texture = vs.GetClTextureD(className)
	elif property == 2:
		texture = vs.GetClTextureG(className)
	elif property == 3:
		texture = vs.GetClTextureL(className)
	elif property == 4:
		texture = vs.GetClTextureR(className)
	elif property == 5:
		texture = vs.GetClTextureT(className)

	#outputs
	self.Params.texture.value = vs.Index2Name(texture)
	


Linenart Name

#HebHeb 2025-01-27
@Marionette.NodeDefinition
class Params(metaclass = Marionette.OrderedClass):
#APPEARANCE
	#Name
	this = Marionette.Node( "Get Class Line Name" )
	this.SetDescription( 'Returns the line style Name of the specified class' )

	#Input Ports
	sClass = Marionette.PortIn( 'Marionette-Document Structure', 'sName' )
	sClass.SetDescription( "The class name" )

	#OIP Controls

	#Output Ports

	sStyle = Marionette.PortOut()a
	sStyle.SetDescription( "The line style Name" )

#BEHAVIOR
	 
def RunNode(self):
	#inputs
	sName =  self.Params.sClass.value 

	#script
	iStyle = vs.GetClLSN(sName)
	sStyle = vs.GetDashLineTypeName(iStyle)

	#outputs
	self.Params.sStyle.value = sStyle


Falls nichts derart in Verwendung muss man eine Leerwert in den gewünschten String schrieben, sonst kommt Blödsinn an ;D
image.png.ee0fd5b7130df000350b0a807e078c16.png

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      25,2Tsd
    • Beiträge insgesamt
      130,4Tsd
×
×
  • Neu erstellen...