Profile definieren
Profile (<profile>) sind optionale Regelsätze, die innerhalb eines Standards definiert werden, um die Darstellung von Elementen in einer Abbildung zu steuern. Sie können mehrere Profile innerhalb des Standards definieren, sodass Benutzer sie auf eine Abbildung anwenden können. Profile steuern den Farbeffekt von Daten, wie z.B. Farbe und Linienstärke, sowie die Sichtbarkeit der vom Benutzer hinzugefügten Inhalte. Regeln werden in der Reihenfolge angewendet, in der sie im Profil erscheinen.
Die Tabelle unten zeigt Elemente, die durch Profilregeln definierbar sind, sowie Eigenschaften, die definiert werden müssen:
Element
Eingeschlossene Regeln
Komponenten
Linienstil
Linienstärke
Linienfarbe
Füllfarbe
Stifte
Linienstil
Linienstärke
Linienfarbe
Füllfarbe
Drähte
Linienstil
Linienstärke
Linienmuster oder Farbe
Kabelführungen
Linienstil
Linienstärke
Linienfarbe
Kabel
Linienstil
Linienstärke
Linienfarbe
Sie können diese Eigenschaften in einem Schaltbildprofil definieren:
Profilname (erforderlich)
rules – Definieren Sie den in einem Profil enthaltenen Regelsatz. Schaltbildregeln können ein oder kein <if>- und genau ein <then>-Argument enthalten.
<rule type="schematics">
Die Existenz einer <if>-Anweisung ist optional. Wenn <if> nicht definiert ist, gilt <then> für alle Elemente. <if>-Bedingungen können mit booleschen <and|or|not>-Kennzeichen kombiniert werden. Wird keines davon verwendet, wird dies als <and> für alle Bedingungen innerhalb von <if> behandelt.
Sie können die folgenden Bedingungstypen in ein Argument einschließen:
Argumente
Beschreibung
item
Definiert das Element, auf das die Bedingung angewendet wird.
type
Definiert den Elementtyp. Sie können regexpr verwenden, wenn regexpr=true (optional).
name
Definiert den Elementnamen. Sie können regexpr verwenden, wenn regexpr=true (optional).
regexpr
Bei Festlegung auf true können Sie reguläre Ausdrücke in Bedingungen verwenden.
equal
Bei Festlegung auf true müssen die Werte für Argumente (type/name) gleich sein, damit die Bedingung wahr (true) ist.
caseins
Bei Festlegung auf true wird die Groß-/Kleinschreibung in der Bedingung beachtet.
Nachstehend ein Beispiel für eine Bedingung, die auf Elemente angewendet wird:
<item type="co*" name="*1*" regexpr="true" equal="true" caseins="true"/>
<attribute> – Legt eine Bedingung fest, die auf die Attribute von Elementen angewendet wird.
attribute-Argumente
Beschreibung
name
Der Name des Attributs. Sie können regexpr verwenden, wenn regexpr=true (optional).
value
Der Wert des Attributs. Sie können regexpr verwenden, wenn regexpr=true (optional).
equal
Bei Festlegung auf true müssen die Werte für Argumente (type/name) gleich sein, damit die Bedingung wahr (true) ist.
regexpr
Verwenden Sie reguläre Ausdrücke in der Bedingung.
caseins
Groß-/Kleinschreibung wird beachtet, wenn die Anweisung true ist.
Nachstehend ein Beispiel für eine Bedingung, die auf Attribute von Elementen angewendet wird:
<attribute name="name" value="value" regexpr="true"
equal="true" caseins="true"/>
then – Eine Regel muss ein then-Argument enthalten. Fügen Sie das Argument nur hinzu, wenn Sie die Regel anwenden möchten. Es enthält alle Elemente, für die die Regel gilt.
bgcolor – Legt die Hintergrundfarbe der Abbildung fest. Verwenden Sie diese Option nur mit einer leeren Bedingung.
<bgcolor></bgcolor>
line – Legt den Linienstil fest (optional).
line-style-Argumente
Beschreibung
style
Wählt den Stil für die Linie aus. Zum Beispiel mehrfarbig, durchgehend, gestrichelt und gepunktet.
Der Standardwert ist solid.
color
Legt die Farbe der Linie fest.
weight
Legt die Breite der Linie fest.
spacing
Definiert den Abstand zwischen Punkten des Stils "gepunktet".
Der Standardwert ist 0.5 mm.
pattern
Beschreibt das Muster des gestrichelten Linienstils.
Der Standardwert ist 0.5 mm.
text_color
Legt die Farbe des Linientexts fest.
border_color
Legt die Farbe des Linienrands fest.
Der Standardwert ist black.
border_weight
Definiert die Breite des Linienrahmens in Prozent, wobei 100 % 1 und 40 % 0.4 ist.
Der Standardwert ist 0.1.
colorseg
Enthält:
color – Legt die Farbe des Segments fest.
length – Legt die Länge des Segments fest.
Gilt nur, wenn multicolor ausgewählt ist.
Jedes colorseg-Kennzeichen fügt dem Stil eine Farbe hinzu.
Wenn die Länge nicht definiert ist, wird letzte Länge verwendet.
Wenn keine Längen vorhanden sind oder alle Längen 0 sind, wird die Randstärke als Länge verwendet, wobei alle Farbsegmente Quadrate sind.
* 
Der Rand wird nur angewendet, wenn die folgenden Linienstilparameter definiert sind:
border_color oder border_weight
solid oder multicolor
color oder colorseg
Beispiele für line-Argumente
Einfarbige, durchgehende Linie:
<then>
<line color="#00ff00" weight="1"/>
</then>
Streifen mit Rand:
<then>
<line style="multicolor" text_color="#0000ff" border_color="B900FC" border_weight="0.4" color="#07EDF9" weight="1">
<colorseg color="#07EDF9" length="0.6"/>
<colorseg color="#FFFFFF"/>
</line>
</then>
Gepunktet:
<then>
<line style="dotted" spacing="2" color="#ff0000"/>
</then>
Gestrichelt:
<then>
<line style="dashed" pattern="3.5;1;0.5;1.0;3.5;4;" weight="0.6"/>
</then>
Gewinkelter Streifen:
<then>
<line style="multicolor" angle="30" color="#888888" weight="0.6">
<colorseg color="#ff0000" length="0.2"/>
<colorseg color="#00ff00" length="0.1"/>
<colorseg color="#0000ff" length="0.3"/>
</line>
</then>
* 
Sie können einen beliebigen Winkel zwischen -45 und +45 Grad oder 90 Grad definieren.
Beispiele für Schnittpunkt-Stile
Dieses Beispiel zeigt die Argumente von vier Stilen, in denen Linien sich kreuzen können.
Bogen mit Vertikale oben:
<profile name="Vertical Arc connection crossing style with horizontal segments on top">
<rules>
<rule type="schematics">
<then>
<setting crossing_point_style="arc"/>
</then>
</rule>
</rules>
<rules>
<rule type="schematics">
<then>
<setting top_segment_vertical="true"/>
</then>
</rule>
</rules>
</profile>
Bogen mit Horizontale oben:
<profile name="Arc connection crossing style with horizontal segments on top">
<rules>
<rule type="schematics">
<then>
<setting crossing_point_style="arc"/>
</then>
</rule>
</rules>
<rules>
<rule type="schematics">
<then>
<setting top_segment_vertical="false"/>
</then>
</rule>
</rules>
</profile>
Spalt mit Horizontale oben:
<profile name="Gap connection crossing style with horizontal segments on top">
<rules>
<rule type="schematics">
<then>
<setting crossing_point_style="gap"/>
</then>
</rule>
</rules>
<rules>
<rule type="schematics">
<then>
<setting top_segment_vertical="false"/>
</then>
</rule>
</rules>
</profile>
Kreuzungsstil für keine Verbindung:
<profile name="None connection crossing style with horizontal segments on top">
<rules>
<rule type="schematics">
<then>
<setting crossing_point_style="none"/>
</then>
</rule>
</rules>
<rules>
<rule type="schematics">
<then>
<setting top_segment_vertical="false"/>
</then>
</rule>
</rules>
</profile>
Sie können diese Eigenschaften in einem 3D-Profil definieren:
Profilname (obligatorisch), beispielsweise,
<profile name=
"Yellow color to all figure items">- <start tag>
rules – Definieren Sie den in einem Profil enthaltenen Regelsatz. 3D-Abbildungsregeln können ein oder kein <if>- und genau ein <then>-Argument enthalten.
<rule type="3D_Figures">
Die Existenz einer <if>-Anweisung ist optional. Wenn <if> nicht definiert ist, gilt <then> für alle Elemente. <if>-Bedingungen können mit booleschen <and|or|not>-Kennzeichen kombiniert werden. Wird keines davon verwendet, wird dies als <and> für alle Bedingungen innerhalb von <if> behandelt.
Sie können die folgenden Bedingungstypen in ein Argument einschließen:
Argumente
Beschreibung
item
Definiert das Element, auf das die Bedingung angewendet wird.
type
Definiert den Elementtyp. Sie können regexpr verwenden, wenn regexpr=true (optional).
name
Definiert den Elementnamen. Sie können regexpr verwenden, wenn regexpr=true (optional).
regexpr
Bei Festlegung auf true können Sie reguläre Ausdrücke in Bedingungen verwenden.
equal
Bei Festlegung auf true müssen die Werte für Argumente (type/name) gleich sein, damit die Bedingung wahr (true) ist.
caseins
Bei Festlegung auf true wird die Groß-/Kleinschreibung in der Bedingung beachtet.
Nachstehend ein Beispiel für eine Bedingung, die auf Elemente angewendet wird:
<item type="co*" name="*1*" regexpr="true" equal="true" caseins="true"/>
<attribute> – Legt eine Bedingung fest, die auf die Attribute von Elementen angewendet wird.
attribute-Argumente
Beschreibung
name
Der Name des Attributs. Sie können regexpr verwenden, wenn regexpr=true (optional).
value
Der Wert des Attributs. Sie können regexpr verwenden, wenn regexpr=true (optional).
equal
Bei Festlegung auf true müssen die Werte für Argumente (type/name) gleich sein, damit die Bedingung wahr (true) ist.
regexpr
Verwenden Sie reguläre Ausdrücke in der Bedingung.
caseins
Groß-/Kleinschreibung wird beachtet, wenn die Anweisung true ist.
Nachstehend ein Beispiel für eine Bedingung, die auf Attribute von Elementen angewendet wird:
<attribute name="name" value="value" regexpr="true"
equal="true" caseins="true"/>
then – Eine Regel muss ein then-Argument enthalten. Fügen Sie das Argument nur hinzu, wenn Sie die Regel anwenden möchten. Es enthält alle Elemente, für die die Regel gilt.
item – Legt die Überschreibung auf ein Element fest.
item-Argumente
Beschreibung
Phantom
Legt den Phantomwert des Elements fest.
transparency
Legt den Transparenzwert des Elements fest.
color
Legt den Farbwert des Elements fest.
figure – Legt eine Überschreibung auf ein Abbildungsargument fest:
figure-Argumente
Beschreibung
background
Legt den Hintergrundfarbwert der Abbildung fest.
background-gradient
Legt den Hintergrund-Gradientenfarbwert der Abbildung fest.
<profile name="Profile A">
<rules>
<rule type="3D_Figure">
<if>
<and>
<attribute regexpr="true" name="sBOM Name" value="49130031*"/>
<attribute name="Source_file_name" value="49130031.prt.2"/>
</and>
</if>
<then>
<item color="#00ff00" transparency="25.0"/>
</then>
</rule>
<rule type="3D_Figure">
<if>
<and>
<attribute regexpr="true" name="sBOM Name" value="49130032*"/>
</and>
</if>
<then>
<item color="#ff00ff"/>
</then>
</rule>
</rules>
</profile>
<profile name="Profile B">
<rules>
<rule type="3D_Figure">
<if>
<and>
<attribute regexpr="true" name="sBOM Name" value="DIN*"/>
</and>
</if>
<then>
<item phantom="true"/>
</then>
</rule>
<rule type="3D_Figure">
<if>
<and>
<attribute regexpr="true" name="sBOM Name" value="Brake*"/>
</and>
</if>
<then>
<item transparency="20.0"/>
</then>
</rule>
</rules>
</profile>

<profile name="Profile C">
<rules>
<rule type="3D_Figure">
<then>
<figure background="#ff00ff" background-gradient="#00ff00"/>
</then>
</rule>
</rules>
</profile>
<profile name="Profile D">
<rules>
<rule type="3D_Figure">
<if>
<and>
<attribute name="Feature_Id" value="1337"/>
</and>
</if>
<then>
<item color="#f0b823"/>
</then>
</rule>
</rules>
</profile>