Définition des profils
Les profils (<profile>) sont des ensembles de règles facultatifs définis dans un standard afin de contrôler l'affichage des éléments dans une figure. Vous pouvez définir plusieurs profils dans le standard, afin que les utilisateurs puissent les appliquer à une figure. Les profils contrôlent l'apparence des données, telles que la couleur et l'épaisseur de la ligne, ainsi que la visibilité du contenu ajouté par l'utilisateur. Les règles sont appliquées selon leur ordre d'affichage dans le profil.
Les profils sont définis dans un fichier XML et doivent disposer de l'en-tête suivant pour être valides et reconnus en tant que profils lors de l'ajout à un standard :
<?xml version="1.0" encoding="utf-8"?>
Unités de longueur
Des unités de longueur doivent être définies pour le fichier de profils. Les unités suivantes peuvent être définies :
MILLIMETRE
POUCE
POINT
Voici un exemple d'unités de longueur de profil :
<profiles length_units="MILLIMETER">
Le tableau ci-dessous affiche les éléments pouvant être définis par des règles de profil, ainsi que les caractéristiques qui doivent être déterminées :
Elément
Règles incluses
Composants
Style de ligne
Epaisseur de ligne
Couleur de trait
Couleur de remplissage
Broches
Style de ligne
Epaisseur de ligne
Couleur de trait
Couleur de remplissage
Fils
Style de ligne
Epaisseur de ligne
Couleur ou style de ligne
Bus
Style de ligne
Epaisseur de ligne
Couleur de trait
Câbles
Style de ligne
Epaisseur de ligne
Couleur de trait
Vous pouvez définir ces caractéristiques dans un profil Schematic Illustrator :
Nom du profil (requis)
rules : définit l'ensemble de règles contenu dans un profil. Les règles schématiques peuvent contenir zéro ou un élément <if>, et un seul argument <then>, exactement.
<rule type="schematics">
La présence d'une instruction <if> n'est pas obligatoire. Lorsque l'élément <if> n'est pas défini, l'élément <then> s'applique à tous les éléments. Vous pouvez combiner des conditions <if> avec des balises <and|or|not> booléennes. Si vous n'utilisez aucune de ces valeurs, le système appliquera <and> pour toutes les conditions incluses dans <if>.
Vous pouvez inclure les types de condition suivants dans un argument :
Arguments
Description
item
Définit l'élément auquel la condition est appliquée.
type
Définit le type de l'élément. Vous pouvez utiliser le paramètre regexpr si regexpr=true (facultatif).
name
Définit le nom de l'élément. Vous pouvez utiliser le paramètre regexpr si regexpr=true (facultatif).
regexpr
Lorsque cet élément est défini sur true, vous pouvez utiliser des expressions régulières dans des conditions.
equal
Lorsque cet élément est défini sur true, les valeurs des arguments (type/nom) doivent être égales pour que la condition soit vraie.
caseins
Lorsque cet élément est défini sur true, la condition est sensible à la casse.
Voici un exemple de condition appliquée aux éléments :
<item type="co*" name="*1*" regexpr="true" equal="true" caseins="true"/>
<attribute> : définit la condition appliquée aux attributs des éléments.
Arguments attribute
Description
name
Nom de l'attribut. Vous pouvez utiliser le paramètre regexpr si regexpr=true (facultatif).
value
Valeur de l'attribut. Vous pouvez utiliser le paramètre regexpr si regexpr=true (facultatif).
equal
Lorsque cet élément est défini sur true, les valeurs des arguments (type/nom) doivent être égales pour que la condition soit vraie.
regexpr
Utilisez des expressions régulières dans la condition.
caseins
Les éléments sont sensibles à la casse lorsque l'instruction a la valeur true.
Voici un exemple de condition appliquée aux attributs des éléments :
<attribute name="name" value="value" regexpr="true"
equal="true" caseins="true"/>
then : une règle doit inclure un argument then. N'ajoutez l'argument que si vous souhaitez appliquer la règle. Il contient tous les éléments auxquels la règle s'applique.
bgcolor : définit la couleur d'arrière-plan de la figure. Utilisez cet élément avec une condition vide uniquement.
<bgcolor></bgcolor>
line : définit le style de ligne (facultatif).
Arguments de style de ligne
Description
style
Sélectionne le style de la ligne. Par exemple : multicolore, continu, tiret ou pointillé.
La valeur par défaut est solid.
color
Définit la couleur de la ligne.
weight
Définit la largeur de la ligne.
spacing
Définit l'espace entre les points dans le style en pointillés.
La valeur par défaut est 0.5 (en mm).
pattern
Décrit la répétition du style de ligne en pointillés.
La valeur par défaut est 0.5 (en mm).
text_color
Définit la couleur du texte de la ligne.
border_color
Définit la couleur du bord de la ligne.
La valeur par défaut est black.
border_weight
Définit la largeur du bord de ligne sous la forme d'un pourcentage, la valeur 100 % correspondant à 1 et la valeur 40 %, à 0.4.
La valeur par défaut est 0.1.
colorseg
Comprend les éléments suivants :
color : définit la couleur du segment.
length : définit la longueur du segment.
S'applique uniquement lorsque le paramètre multicolor est sélectionné.
Chaque balise colorseg ajoute une couleur au style.
Si la longueur n'est pas définie, la valeur de longueur utilisée en dernier est appliquée.
S'il n'existe aucune longueur, ou si toutes les longueurs ont la valeur 0, la valeur d'épaisseur du bord est utilisée comme longueur, auquel cas tous les segments de couleur sont des carrés.
* 
Un bord est appliqué uniquement si les paramètres de style de ligne suivants sont définis :
border_color ou border_weight
solid ou multicolor
color ou colorseg
Exemples d'arguments line
Ligne continue présentant une seule couleur :
<then>
<line color="#00ff00" weight="1"/>
</then>
Rayures avec bord :
<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>
Pointillé :
<then>
<line style="dotted" spacing="2" color="#ff0000"/>
</then>
Tiret :
<then>
<line style="dashed" pattern="3.5;1;0.5;1.0;3.5;4;" weight="0.6"/>
</then>
Rayures inclinées :
<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>
* 
Vous pouvez définir n'importe quel angle situé entre -45 et +45 degrés, ainsi que 90 degrés.
Exemples de styles de point de croisement
Cet exemple affiche les arguments de quatre styles permettant un croisement des lignes.
Arc traversé par une ligne verticale :
<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>
Arc traversé par une ligne horizontale :
<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>
Intervalle traversé par une ligne horizontale :
<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>
Aucun style de croisement de connexion :
<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>
Vous pouvez définir ces caractéristiques dans un profil 3D :
nom du profil (obligatoire) : par exemple
<profile name=
"Yellow color to all figure items">- <start tag>
rules : définit l'ensemble de règles contenu dans un profil. Les règles des figures 3D peuvent contenir zéro ou un élément <if>, et un seul argument <then>, exactement.
<rule type="3D_Figures">
La présence d'une instruction <if> n'est pas obligatoire. Lorsque l'élément <if> n'est pas défini, l'élément <then> s'applique à tous les éléments. Vous pouvez combiner des conditions <if> avec des balises <and|or|not> booléennes. Si vous n'utilisez aucune de ces valeurs, le système appliquera <and> pour toutes les conditions incluses dans <if>.
Vous pouvez inclure les types de condition suivants dans un argument :
Arguments
Description
item
Définit l'élément auquel la condition est appliquée.
type
Définit le type de l'élément. Vous pouvez utiliser le paramètre regexpr si regexpr=true (facultatif).
name
Définit le nom de l'élément. Vous pouvez utiliser le paramètre regexpr si regexpr=true (facultatif).
regexpr
Lorsque cet élément est défini sur true, vous pouvez utiliser des expressions régulières dans des conditions.
equal
Lorsque cet élément est défini sur true, les valeurs des arguments (type/nom) doivent être égales pour que la condition soit vraie.
caseins
Lorsque cet élément est défini sur true, la condition est sensible à la casse.
Voici un exemple de condition appliquée aux éléments :
<item type="co*" name="*1*" regexpr="true" equal="true" caseins="true"/>
<attribute> : définit la condition appliquée aux attributs des éléments.
Arguments attribute
Description
name
Nom de l'attribut. Vous pouvez utiliser le paramètre regexpr si regexpr=true (facultatif).
value
Valeur de l'attribut. Vous pouvez utiliser le paramètre regexpr si regexpr=true (facultatif).
equal
Lorsque cet élément est défini sur true, les valeurs des arguments (type/nom) doivent être égales pour que la condition soit vraie.
regexpr
Utilisez des expressions régulières dans la condition.
caseins
Les éléments sont sensibles à la casse lorsque l'instruction a la valeur true.
Voici un exemple de condition appliquée aux attributs des éléments :
<attribute name="name" value="value" regexpr="true"
equal="true" caseins="true"/>
then : une règle doit inclure un argument then. N'ajoutez l'argument que si vous souhaitez appliquer la règle. Il contient tous les éléments auxquels la règle s'applique.
item : définit le remplacement sur un élément.
Arguments item
Description
Phantom
Définit la valeur fantôme de l'élément.
transparency
Définit la valeur de transparence de l'élément.
color
Définit la valeur de couleur de l'élément.
figure : définit un remplacement sur un argument de figure :
Arguments figure
Description
background
Définit la valeur de couleur d'arrière-plan de la figure.
background-gradient
Définit la valeur de couleur de dégradé d'arrière-plan de la figure.
<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>
Est-ce que cela a été utile ?