LDCad

Mise à jour de la page : 20 juin 2018.
    Set 700/1 de 1950
J.C. Tchang
Original Version
on Roland Melkert Site
.

Le programme LDCad est un éditeur de modèle LDraw créé par Roland Melkert et utilisant la bibliothèque de pièces de LDraw.org. Ce manuel est basé sur la version 1.6b du programme.

L'écran principal du programme peut se diviser ainsi :

 

Navigation rapide

 

Téléchargement

Voir la page de téléchargement sur le site de l'auteur du programme :
http://www.melkert.net/LDCad/download.

Personnellement, j'utilise la version pour Windows format archive. Prendre la version Linux pour ceux qui utilisent ce système.

Si vous voulez utiliser la dernière version de développement (moins stable) voir :
http://www.melkert.net/LDCad/nextVer
.

Vous pouvez également utiliser la version (v1.6a actuellement) intégrée au système d'installation LDraw "tout en un", voir :
LDraw All-In-One-Installer.

 

Historique

 

Installation

En pré-requis, la bibliothèque de pièces LDraw doit être installée.

Lancer l'exécutable d'installation ou décompresser le fichier archive avec par exemple 7-Zip, puis valider les droits d'utilisation et donner le dossier d'installation du programme. Personnellement j'utilise le dossier :
C:\LEGO\LDCad

Au premier lancement le programme demande l'emplacement de la bibliothèque LDraw :

Il suffit d'indiquer le dossier d'installation de votre bibliothèque de pièces LDraw.

Dans le panneau pièces s'affiche un message "Updating content / Please wait" ce qui veut dire que son contenu est en cours de mise-à-jour et qu'il faut attendre un peu pour que le panneau s'affiche.

Configuration LUA

Pour éditer les scripts à partir de LDCad il faut configurer un programme par défaut pour les fichiers .lua.

Pour cela, sous Windows, avec le bouton droit de la souris, ouvrir les "Propriétés" d'un fichier .lua et sélectionner un programme à utiliser par défaut pour ouvrir ce type de fichier.

Ce programme peut être Notepad (fourni avec Windows), Notepad2 (un peu plus évolué), mais de préférence Notepad++ (affiche la syntaxe LUA), ou LuaDevelopmentTools (LDT) (gère la syntaxe standard).

 

Introduction

Mon but (dixit l'auteur du programme) avec cet éditeur est d'avoir une version "moderne" de la façon de faire de MLCad. Donc, bien qu'il y ait seulement une vue "3D" par défaut, vous ne pouvez modifier les choses que dans deux dimensions à un moment donné. C'est fondamental de vous représenter en mode 2D sur un plan "devant" (front), "côté" (side) ou "dessus" (top). Vous choisissez le plan à utiliser avec le référentiel en bas à gauche (boussole) et avec le menu grille (Grid). Il est bon de jouer avec insérer et déplacer un truc pour comprendre ce que je dis ici.

Pour bien démarrer avec LDCad, je vous conseille de parcourir le chapitre : Description de l'interface utilisateur et la revue des différents panneaux qui suit, puis d'utiliser le Tutoriel : Edition de base pour démarrer un premier modèle.

 

Description de l'interface utilisateur

L'interface possède trois sections principales, à savoir : Le panneau couleurs (en haut à gauche par défaut), le panneau pièces (en bas à gauche) et la vue d'édition principale (le reste). Une quatrième section optionnelle permet d'afficher le panneau du code source du fichier. Les panneaux Couleurs et Pièces, s'interprètent d'eux-mêmes, mais leur description, plus bas, peut permettre d'en savoir plus. Utilisez-les pour naviguer à travers les couleurs ou les pièces disponibles. Ces deux panneaux sont complètement personnalisables en éditant un fichier INI, mais pour le moment le paramétrage par défaut devrait suffire.

Pour commencer à travailler, soit démarrer un nouveau modèle soit en ouvrir un existant. Les deux actions peuvent être faites dans le panneau "Getting started" au démarrage du programme, ou ensuite avec le menu "File", ou avec le bouton "Open a file", ou avec le menu contextuel "File" ou "Main menu / File" de l'éditeur que vous ouvrez avec un clic droit n'importe où dans la fenêtre graphique. Dans ce menu aller dans le menu principal ("Main menu") puis fichier ("File") et sélectionner ouvrir un fichier ("Open ..") ou créer un nouveau fichier ("New model"). Quand un fichier est actif (dans une session) la fenêtre graphique vous permet d'accéder à plusieurs aides à l'édition.

En bas à gauche vous pouvez voir un référentiel ou boussole ("Compass") qui vous donnera une information sur l'orientation du monde, et le plan courant de la grille. Quand la souris est sur ce référentiel il s'agrandit pour passer en mode interactif, ainsi vous pouvez l'utiliser pour changer de plan de travail (devant/côté/dessus), déplacer le point de vue en utilisant les flèches dans les coins de la grille, vérifier et fixer les pas de la grille, ou changer les différents modes d'utilisation de l'éditeur.

En haut de la fenêtre graphique, vous trouverez une information sur l'étape courante sur la gauche et une information sur la session du modèle en cours à droite. Les sessions sont les instances d'édition d'un fichier ou sous-fichier LDraw. Il y a une session par fichier ouvert et pour les fichiers multiples MPD il y a une session supplémentaire par sous-fichier. Vous pouvez passer d'une session à l'autre en cliquant sur le nom de session qui s'affiche en haut à gauche de la fenêtre graphique et en sélectionnant une autre session dans ce menu. Ce menu est aussi accessible par un clic sur le menu "Session / Change current session".

Je pense que c'est pour l'instant assez d'informations sur l'interface de base, et le reste deviendra clair pendant les activités d'édition. Si ça ne l'est pas, lire la suite. Egalement, quand vous avez un doute sur la fonction d'un bouton il y a normalement un message d'explication (en anglais) dans la barre de statut en bas de la fenêtre du programme.

 

Panneau couleurs

Panneau de choix des couleurs avec son menu racine (Main group) :

- En haut : 6 onglets de sélections différentes.
- Au milieu : Un menu de catégories de couleurs (Solid plastic=Opaque, Transparent=Transparente, Metallic=Métallique, Rubber=Caoutchouc, Plastic=Opaque, Special=Couleur principale (16) et de bord (24), Favorites=Favorites, History (Today/Week/Month/All)=Historique du jour ou semaine ou mois ou toutes.
- En dessous le numéro, (code de catégorie), et le nom de la couleur par défaut.
- En bas la couleur sélectionnée par défaut, et les dernières utilisées.

Panneau avec le camembert de sélection d'une couleur lorsque qu'une catégorie a été sélectionnée :

- En haut : 6 onglets de sélections différentes.
- En dessous : Catégorie sélectionnée.
- Au centre : Un des camemberts de sélection de couleur. On peut faire tourner le camembert avec la molette de la souris, le basculer avec Ctrl+Molette et cliquer sur une des parts colorées pour qu'elle devienne couleur par défaut. Lors du survol du camembert le numéro et nom de la couleur survolée s'affiche en vert en dessous et dans la barre de statut.
- Flèche haut : Retour dans les catégories.
- Flèches horizontales : Passage entre les différents camemberts de la catégorie.
- Valeurs à gauche (0-70): Fourchette des numéros de couleurs affichés.
- Valeurs à droite (1/10): Numéro du camembert affiché/Nombre de camemberts.
- En dessous le numéro et le nom de la couleur sélectionnée ou survolée. Derrière le numéro s'affiche une code de catégorie (P=Opaque, T/P=Transparente, T=Transparente à inclusion, M=Métallique ou Métal, C=Chromé, PL=Nacrée, R=Caoutchouc, T/R=Caoutchouc transparent)
- En bas la barre de la couleur sélectionnée par défaut, et les dernières utilisées. En cliquant sur une des dernières utilisées, elle devient de nouveau couleur par défaut.

- En bas la barre de la couleur sélectionnée par défaut, et les dernières utilisées. Les couleurs transparentes apparaissent sous forme de damier.

La couleur sélectionnée devient courante et est la couleur par défaut de toutes les nouvelles pièces, et les briques du panneau pièces s'affichent avec cette couleur.

La couleur courante peut être changée directement en plaçant la souris sur le nom de la couleur courante, puis en tapant un numéro de couleur validé par la touche "Entrée". On peut aussi cliquer sur le nom de la couleur courante et rentrer le numéro de la couleur dans la boite de dialogue qui s'ouvre :

Nota : Le numéro peut être donné en hexadécimal en précédent la valeur par 0x.

Pour l'utilisation des couleurs voir le chapitre : Couleur, et les raccourcis clavier : Raccourcis clavier et souris : Panneau couleurs.

Si vous avez configuré le panneau couleurs pour avoir vos catégories personnelles, la catégorie "[Back]" permet d'accéder aux différentes configurations et au "Main group" de la configuration par défaut ("default"). Voir le chapitre : Configuration panneau couleurs.

Couleurs favorites

La catégorie de couleurs "Favorites" est vide par défaut. Mettez-y vos couleurs favorites. Cela peut être par exemple votre charte de couleurs pour créer un modèle.

Pour ajouter une couleur dans cette catégorie, sélectionner une couleur dans une autre catégorie pour qu'elle devienne courante, puis l'ajouter comme "Favorite" avec le menu contextuel "Color bin / Favorites / Add current" ou le bouton correspondant de la barre d'outils ou le raccourci "F".

Pour supprimer une couleur dans cette catégorie, la sélectionner dans le camembert "Favorites", puis utiliser le menu contextuel "Color bin / Favorites / Remove current" ou le raccourci Maj+F ou utiliser "Color bin / Favorites / Clear" pour les supprimer toutes.

Nota : Les couleurs favorites sont stockées dans le fichier colorBin.fav, voir : Fichier colorBin.fav.

Panneau couleurs supplémentaire


Il est possible d'ajouter des panneaux supplémentaires avec le menu "View / New color bin window" ou le menu contextuel "Color bin / New color bin window".

Par défaut le panneau est indépendant et peut chevaucher les autres panneaux de la fenêtre du programme. Il peut être collé aux autres panneaux, voir : Manipulation des panneaux couleurs, pièces et code source.

Le panneau peut être supprimé avec le menu contextuel "Color bin / Close window" ou lorsqu'il est indépendant avec sa croix en haut à droite.

 

Panneau pièces

En haut, 6 onglets de sélections différentes, avec en dessous la catégorie ou groupe de pièces sélectionnées.

En dessous un filtre de sélection pour rechercher des pièces suivant certains critères. Voir plus bas.

Panneau de choix des catégories avec :

- Sorted by function : Trié par fonctions arborescentes.
- By category : Par catégories suivant leur nom.
- Lego sets : Par pièces contenues dans un set Lego.

- Search the inventory : Par résultat de recherche (recherche sur toutes les pièces).
- Model content : Par sous-modèle ou pièce du modèle courant.
- Special parts : Par pièces spéciales (aides au positionnement, chemin pièce dynamique, ressort, méta-commandes, éléments de pièce, éléments d'accrochage).

- Templates : Par assemblages prédéfinis (gabarits).
- Favorite parts : Par pièces favorites.
- Historic parts : Par historique d'utilisation.

Sélection d'une pièce :

- Vous pouvez sélectionner une pièce dans la catégorie courante, ou descendre avec le curseur latéral.
- La pièce sélectionnée est ajoutée au modèle par glisser/déposer dans la fenêtre graphique. Voir : Ajouter des pièces au modèle.

La couleur des pièces dans le panneau dépend de la couleur par défaut.
On peut augmenter ou diminuer le nombre de pièces par ligne avec + et - tout en changeant leur taille.
On peut tourner les pièces avec Ctrl+Souris.
Voir les autres raccourcis : Raccourcis clavier et souris : Panneau pièces.

Sélection d'une pièce appartenant à un Set :

- Vous pouvez sélectionner une pièce dans la catégorie "Lego sets".
- Pour les sets renseignés, le panneau affiche uniquement les pièces appartenant à ce set, avec éventuellement leur couleur affectée et la quantité de chaque.

Pour créer un panneau de ce type, voir : Configuration panneau pièces.
Voir également : Tutoriel : Générer un panneau pièce de Set personnalisé, et LDCad parts bin custom list.

Affichage des points d'attirance :

- On peut afficher/cacher les points d'attirance avec F11 (panneau pièces et édition graphique).
- Sinon, en mode édition de pièce, les points d'attirance peuvent s'afficher avec le menu "Prefs / LDraw" en mettant "Shadow files" sur "Enabled", puis en relançant le programme.

Affichage des motifs texturés :

- On peut afficher les textures de pièce générées à partir d'images (!TEXMAP), en mettant "Prefs / LDraw / Textures" sur "Enable", à condition que "Prefs / LDraw / Vertex processing" ne soit pas sur "None".
Voir en complément : Pièces texturées.

Affichage des pièces Non Officielles :

- Le message "unOff" s'affiche au bas de chaque case d'une pièce non officielle, en mettant "Part bin / Unofficial indication" sur "Enable".

Pour configurer le panneau pièces, voir le chapitre : Configuration panneau pièces.

Lorsque la bibliothèque de pièces à changé un message d'attente s'affiche dans le panneau :

Pièces favorites

La catégorie des pièces "Favorites" est vide par défaut. Y mettre vos pièces favorites, c'est-à-dire les pièces que vous utilisez régulièrement ou de temps en temps mais que vous avez du mal à trouver dans leur catégorie de base.

Pour ajouter une pièce dans cette catégorie, sélectionner une pièce dans une autre catégorie pour qu'elle devienne courante, puis l'ajouter comme "Favorite" avec le menu contextuel "Part bin / Favorites / Add current" ou le bouton correspondant de la barre d'outils ou le raccourci "F". Nota : Un simple survol d'une pièce ne la rend pas courante, il faut cliquer dessus avant de la mettre comme favorite.

Pour supprimer une pièce dans cette catégorie, la sélectionner dans la catégorie "Favorites", puis utiliser le menu contextuel "Part bin / Favorites / Remove current" ou le raccourci Maj+F ou utiliser "Part bin / Favorites / Clear" pour les supprimer toutes.

Nota : Les pièces favorites sont stockées dans le fichier partBin.fav, voir : Fichier partBin.fav. En v1.5, pour supprimer une pièce favorite de LDCad, il faut fermer LDCad, puis éditer ce fichier et supprimer la pièce.

Filtre des pièces

Pour diminuer le nombre de pièces affichées et faciliter la sélection, il est possible de cliquer sur le bandeau :

Un clic sur l'entonnoir à gauche fait apparaître une fenêtre de filtre de pièces :

Le filtre ne s'applique que sur la catégorie de pièces affichée. Pour faire une recherche sur toutes les pièces, sélectionner à partir du haut de l'arborescence ("Main group"), l'icône représentant une Minifig tenant une loupe ("Search the inventory").

Pour supprimer le filtre cliquer sur l'entonnoir à croix rouge à droite du bandeau.

Edition de sous-modèle ou de pièce


Certaines catégories du panneau présentent l'icône d'une clé plate lorsque l'on passe dessus. On la trouve dans les catégories des sous-modèles MPD ou des gabarits ("Templates"). En cliquant sur cette clé on édite le sous-modèle concerné.

En mode édition de pièce cette même icône permet d'éditer la pièce concernée.

Panneau pièces supplémentaire


Il est possible d'ajouter des panneaux supplémentaires avec le menu "View / New part bin window" ou le menu contextuel "Part bin / New part bin window". Le but est par exemple de choisir des pièces avec le panneau principal et de visualiser et sélectionner les sous-fichiers du modèle courant avec le second panneau.

Par défaut le panneau est indépendant et peut chevaucher les autres panneaux de la fenêtre du programme. Il peut être collé aux autres panneaux, voir : Manipulation des panneaux couleurs, pièces et code source.

Son orientation dépend de ses dimensions (rapport hauteur/largeur). On l'ajuste en tirant sur un coin ou un bord avec la souris.

Le panneau peut être supprimé avec le menu contextuel "Part bin / Close window" ou lorsqu'il est indépendant avec sa croix en haut à droite.

 

Panneau code source

Il est possible d'afficher le code source, dans un ou plusieurs panneaux, avec le menu "View / New source window" ou le menu contextuel "Source / New source window".

Par défaut le panneau est indépendant et peut chevaucher les autres panneaux de la fenêtre du programme. Il peut être collé aux autres panneaux, voir : Manipulation des panneaux couleurs, pièces et code source.

Le panneau peut être supprimé avec le menu contextuel "Source / Close window" ou lorsqu'il est indépendant avec sa croix en haut à droite.

Manipulation du code source

Un "+" s'affiche à gauche des sous-fichiers. Cliquer dessus pour dérouler le contenu de ce sous-fichier. Cliquer ensuite sur le "-" pour fermer le contenu.

La ligne de code survolée par la souris est encadrée en vert si elle est éditable, en rouge sinon, et la pièce correspondante passe en surbrillance dans la fenêtre graphique.

Un clic sur une ligne de code sélectionne cette ligne et la met sur un fond plus clair. Si cette entité est une entité graphique elle est aussi sélectionnée dans la fenêtre graphique. Si ce n'est pas une entité graphique un message "Selection is invisible." ou "Selection contains invisible items." apparait dans la fenêtre graphique.

Un double-clic sur une ligne de sous-fichier rend ce sous-fichier actif. Pour revenir au modèle principal cliquer sur le bouton "Edit the main model".

Pour sélectionner plusieurs entités utilisez la touche Ctrl. Cliquer sur une entité sélectionnée pour la désélectionner. Utiliser Ctrl+A pour tout sélectionner. Utiliser "Echap" ou Ctrl+Maj+A pour annuler toute sélection.

Pour sélectionner une succession d'entités, cliquer sur la première, puis avec la touche Maj cliquez sur la dernière.

Utiliser le menu contextuel "Select / Invert" pour inverser les entités sélectionnées (hors méta-commandes).

Utiliser le menu contextuel "Select / Working color" ou "Working part" ou "Working part and color" pour sélectionner toutes les pièces ayant la couleur active, le type de la pièce active, ou le type et la couleur de la pièce active.

Utiliser le menu contextuel "Select / Same color" ou "Same part" ou "Same part and color" pour sélectionner toutes les pièces ayant la couleur de la sélection, le type de la pièce sélectionnée, ou le type et la couleur de la pièce sélectionnée.

Utiliser le menu contextuel "Select / Same step(s)" pour sélectionner toutes les pièces visibles partageant les étapes des pièces de la sélection courante. Avec "Select / Current step" vous sélectionnez toutes les pièces visibles de l'étape courante. Avec "Select / Except current step" vous sélectionnez toutes celles n'appartenant pas à l'étape courante. Avec "Select / Limit to current step" vous désélectionnez toutes celles n'appartenant pas à l'étape courante.

Avec les touches Ctrl+X, Ctrl+C, Ctrl+V, il est possible de couper/copier/coller une sélection. Au moment du coller un message "Select the source insertion point" s'affiche et un point d'insertion s'affiche en vert. Il suffit de cliquer au bon endroit.

On peut aussi faire glisser une sélection à la souris jusqu'à un nouvel emplacement.

Lors d'une sélection, la couleur de la première entité sélectionnée devient couleur courante.

Edition du code source

La ligne de code survolée par la souris est encadrée en vert si elle est éditable, en rouge sinon. Cliquer dessus pour la sélectionner, puis sur le bouton central de la souris pour l'éditer. On peut aussi l'éditer avec le menu contextuel "Selection / Properties".

Voir le chapitre : Modification du code source, pour l'édition de chaque type d'entité.

 

Manipulation des panneaux couleurs, pièces et code source

Les panneaux couleurs, pièces et code source y compris les supplémentaires peuvent être accrochés sur les bords de la fenêtre du programme ou bien placés dans des fenêtres indépendantes.

Pour modifier l'état d'un panneau, vérifier dans le menu "Prefs / GUI" que "Lock docked windows" soit sur "No". Si "Lock docked windows" est sur "Yes" l'état des panneaux est figé.

Pour rendre un panneau indépendant il suffit de cliquer sur le panneau et de le faire glisser à la souris en dehors de son emplacement.

Pour accrocher un panneau indépendant sur un bord de la fenêtre du programme, appuyer sur "Ctrl" puis cliquer sur le panneau et le faire glisser à la souris vers un des bords. La position de la souris conditionne le bord concerné et le redimensionnement ou non des panneaux voisins.

 

Panneau édition graphique

La zone d'édition graphique ou fenêtre graphique permet de visualiser le modèle en cours, d'ajouter ou supprimer des pièces, de les déplacer ou les tourner, de leur changer de couleur, etc ... :

On y trouve :

Panneau point de vue

Repères d'orientation :
Par défaut le référentiel absolu (monde) s'affiche, ainsi que le plan de la grille active. Les flèches de couleur du référentiel indiquent :
- Flèche rouge : X+
- Flèche verte : Y+ (Le standard LDraw définit le Y positif vers le bas)
- Flèche bleue : Z+
La grille est gris clair.
En mode grille relative il y a deux référentiels qui s'affichent :
- Le référentiel absolu du modèle passe avec des couleurs plus sombres et un trait plus fin (si "Prefs / Editing / Show abs axises in compass" est sur "YES").
- Le référentiel local devient référentiel courant.
La grille passe en orange.

En survolant avec la souris le repère d'orientation (référentiel), celui-ci se transforme en outil de manipulation du point de vue (déplacement, orientation), et paramétrage de modélisation (plan de travail, pas de la grille).

- Cliquer sur les losanges au centre pour sélectionner le plan de travail par défaut (XY, YZ, ZX).
- Cliquer sur un endroit vide en bougeant la souris pour faire tourner le modèle.
- Cliquer sur l'un des 2 panneaux "flèches doubles" sur la grille, en bougeant la souris pour déplacer le point de vue du modèle suivant le plan de la grille, horizontalement ou verticalement.
- Cliquer sur l'un des 2 panneaux "flèches quadruples" sur la grille, en bougeant la souris pour déplacer le point de vue du modèle suivant le plan de la grille, en tous sens.

- En haut s'affiche le pas de la grille courante en X, Y et Z, et le pas de rotation en degrés.
- Cliquer dessus pour ouvrir le menu grille (Grid) et modifier les choix.

- Cliquer avec le bouton droit de la souris pour ouvrir le menu "Editing views".

Description des modes s'affichant dans les 4 coins du panneau :

- Outil de manipulation du point de vue en mode grille relative.
- La grille passe en orange et le repère absolu (monde) prend des couleurs plus foncées.
- En mode vue 2D on peut choisir le sens de la vue en faisant tourner le cube avec la souris. Vue de gauche (Left), droite (Right), face (Front), arrière (Back), dessus (Top) et dessous (Bottom).
- La vue est activée dès que la face du cube passe en jaune.
- Attention, en faisant tourner le cube, on joue sur le sens de la vue mais aussi sur son orientation à l'écran, ce qui donne 6x4=24 possibilités d'affichage.

Pour remettre le point de vue en position 3D de base :
- Taper la touche "O" pour la grille, si rien n'est sélectionné.
- Taper la touche "Début" pour aligner la sélection sur la grille courante.
- Taper la touche Ctrl+Début pour réinitialiser la rotation de la sélection.
- Menu contextuel "Editing view / View Angle / Left 45 deg" ou menu "View / Editing view / View Angle / Left 45 deg" pour réinitialiser l'orientation (ou une autre orientation possible si vous avez choisi le multi-vues).

Panneau étape

En haut à gauche de la fenêtre graphique on a une information sur le numéro de l'étape courante et le nombre d'étapes du modèle actif.

En cliquant dessus on ouvre le menu "Stepping" pour changer d'étape de construction, en créer ou en supprimer.

Panneau session

En haut à droite de la fenêtre graphique on a une information sur le nom du modèle ou sous-modèle en cours. Si le nom est suivi de {M} il s'agit du modèle principal du fichier en cours.

En cliquant dessus on ouvre le menu "Change current model" pour changer de modèle courant.

En survolant le panneau un menu à onglets s'affiche pour sélectionner le mode d'affichage.

Nota : Le mode sélectionné s'affiche en jaune. Les options actives (sauf "Close") sont en vert et les inactives en rouge.

Panneau information

En bas à droite de la fenêtre graphique on a une icône I comme "Information". En survolant à la souris cette icône un panneau d'informations s'affiche.

Parts / Selection : Nombre total de pièces de la sélection courante et (nombre de pièces différentes).
Parts / Step : Nombre total de pièces à l'étape courante et (nombre de pièces différentes).
Parts / Model : Nombre total de pièces dans le modèle et (nombre de pièces différentes).

Sub models / Selection : Nombre total de pièces en sous-modèle de la sélection courante et (nombre de pièces différentes).
Sub models / Step : Nombre total de pièces en sous-modèle à l'étape courante et (nombre de pièces différentes).
Sub models / Model : Nombre total de pièces en sous-modèle dans le modèle et (nombre de pièces différentes).

Color / Selection : Nombre de couleurs de la sélection courante.
Color / Step : Nombre de couleurs à l'étape courante.
Color / Model : Nombre de couleurs dans le modèle.

Size / in bricks : Dimensions en X/Y/Z en nombre de briques entières (1 brique = 8 mm en largeur et 9,6 mm en hauteur).
Size / in mm : Dimensions en X/Y/Z en mm.

Nota : Les lignes "Selection" ne s'affichent que s'il y a une sélection de pièces active.

Panneau coordonnées ou propriétés

Si une pièce ou un sous-modèle est sélectionné, le panneau coordonnées donne la position en X/Y/Z de son origine. S'il y en a plusieurs, il s'agit des coordonnées de la première de la sélection.

En cliquant sur ce panneau, la boite de dialogue des propriétés du premier objet de la sélection s'affiche. En cliquant avec le bouton droit de la souris, le menu "Edit" s'affiche.

Ce panneau peut être caché en désactivant "INFO" dans le panneau session.

Si une pièce de chemin ou une section de ressort est sélectionné, le panneau coordonnées est remplacé par un panneau donnant les caractéristiques du chemin ou du ressort.
NR=Numéro du chemin, GRP=Groupe, CNT=Nombre de pièces ou éléments.
NR=Numéro de section du ressort, PROP=Proportion du ressort complet, WND=Nombre de spires.

 

En cliquant sur ce panneau, la boite de dialogue des propriétés du chemin ou de la section du ressort s'affiche.

Si la sélection (dans le panneau code source) porte sur une ligne de commentaire ou une méta-commande, le panneau coordonnées est remplacé par le message "Selection is invisible" (La sélection est invisible).

Si la sélection porte à la fois sur des entités graphiques et sur des lignes de commentaire ou de méta-commande, le panneau coordonnées s'affiche ainsi que le message "Selection contains invisible items" (La sélection contient des éléments invisibles).

Si on ajoute une entité non graphique à partir du panneau pièce, le message "invisible part selected, release it anywhere to add it" (pièce invisible sélectionnée, lâchez-la n'importe où pour l'ajouter).

Panneau animation

Lors d'une animation, un panneau de contrôle peut s'afficher en bas de l'écran graphique.

Ce panneau peut être masqué pendant l'animation en désactivant "CTRL" dans le panneau session.

Outil de manipulation (épingle ou broche)

Lorsqu'au moins une pièce est sélectionnée, cet outil apparait au-dessus de la première pièce de la sélection.

Cet outil permet de déplacer ou tourner les pièces de la sélection dans le modèle.

Outil de manipulation :

- La pyramide supérieure permet d'éloigner/rapprocher l'outil par rapport à la sélection.
- Le cube en-dessous permet de sélectionner le mode rotation pièce.
- Le cube du milieu permet de sélectionner le mode déplacement pièce.
- Le cube du bas permet de sélectionner le mode déplacement du point de centre.

Mode rotation pièce :

- En cliquant sur le petit cube supérieur nous avons un outil de rotation.
- Cliquer sur le disque pour choisir l'angle de rotation de la sélection, dans le plan actif et suivant le pas de la grille courante.
- Cliquer sur le disque avec le bouton du milieu de la souris pour ouvrir la boite de dialogue rotation manuelle (Manual rotation) pour avoir d'autres options de rotation.

Mode déplacement pièce :

- En cliquant sur le petit cube central nous avons un outil de déplacement.
- Cliquer sur une des flèches pour déplacer la pièce à la souris dans le plan actif et suivant le pas de la grille courante.
- Suivant l'endroit cliqué, sélectionner une direction ou l'autre ou les deux (ici une direction).
- Cliquer sur les flèches avec le bouton du milieu de la souris pour ouvrir la boite de dialogue déplacement manuel (Manual movement) pour avoir d'autres options de déplacement.

Mode déplacement du point de centre :

- Cliquer sur le petit cube du bas pour pouvoir déplacer le point de centre. Cela permet de changer l'origine des rotations.
- Cliquer sur une des flèches pour déplacer le point de centre à la souris dans le plan actif.
- Suivant l'endroit cliqué, sélectionner une direction ou l'autre ou les deux (ici les deux).
- Cliquer sur les flèches avec le bouton du milieu de la souris pour ouvrir la boite de dialogue sélection du point de centre (Selection center) pour avoir d'autres options de déplacement.

Cet outil peut être masqué en désactivant "PIN" dans le panneau session.

Il peut être mis constamment transparent dans le menu "Prefs / Editing" en mettant "3D Editpin visibility" sur "Always transparent" ou automatiquement suivant sa position avec "Automatic" (par défaut), sinon mettre sur "Always solid".

Multi-vues

Pour couper le panneau visualisation en plusieurs panneaux, utiliser le menu "View / Editing views / Split", et pour définir un sens à chaque vue utiliser le menu "View / Editing views / View angle".

Pour supprimer des vues, utiliser le menu "View / Editing views / Split / Unsplit" ou toutes les vues avec "View / Editing views / Split / Unsplit all".

Pour passer temporairement du mode multi-vues au mode mono-vue de la vue active et inversement, utiliser le menu "View / Editing views / Split / Swap full screen" ou la barre "espace" du clavier.


Pour ceux qui ont des difficultés à concevoir uniquement en vue 3D et pour éviter de faire le modèle symétrique à celui à obtenir, la meilleur configuration est de définir les vues comme ci-dessus (norme ISO européenne). En haut à gauche vue de face (front), en haut à droite vue de gauche (left), en bas à gauche vue de dessus (top) et en bas à droite vue 3D (left 45°).

Il faut d'abord couper le panneau visualisation avec le menu "View / Editing views / Split / Split four ways", puis définir un sens à chaque vue et pour les vues 2D figer leur orientation en mettant "AEP/MEP" sur "MEP" dans le panneau point de vue. A partir de ce moment l'utilisation du bouton droit ou gauche de la souris déplace le contenu de la vue sans le faire tourner.

 

Barre de statut

En bas de la fenêtre du programme se trouve la barre de statut. Elle est séparée en 3 parties :

 

Démarrer un modèle

Un modèle LDraw est un assemblage de briques ou pièces virtuelles utilisant le format de fichier LDraw. Il s'agit soit d'un modèle simple (généralement un fichier .LDR), soit d'un modèle multiple (généralement un fichier .MPD). Celui-ci est composé de sous-fichiers dont le premier est le maître-modèle ou modèle principal (celui qui s'affiche en premier).

Au démarrage de LDCad s'affiche le panneau "Getting started", permettant de démarrer un projet de modèle :

Fichiers

LDCad peut charger en même temps plusieurs fichiers au format LDraw. Chaque fichier peut contenir un modèle simple (généralement .LDR, parfois .DAT) ou un modèle multiple (généralement .MPD, parfois .LDR).

Ouvrir un modèle existant

Au démarrage du programme, il est possible d'ouvrir un modèle existant dans le panneau "Getting started". Ce modèle peut être n'importe où sur votre disque ("model from disk"), parmi les exemples fournis avec le programme ("example model") ou parmi ceux récemment ouverts ("Recent").

Ensuite, il est possible d'ouvrir d'autres modèles avec le menu "File / Open", ou "File / Recent", ou "File / Example".

On peut aussi ouvrir le fichier d'un modèle existant en faisant glisser, à partir de l'explorateur Windows, ce fichier dans la fenêtre de LDCad ou le déposer sur l'icône du programme.

Une boite de dialogue s'affiche :

Ouvrir un nouveau modèle

Au démarrage du programme, il est possible d'ouvrir un nouveau modèle dans le panneau "Getting started", en sélectionnant "Start a new model".

Ensuite, il est possible d'ouvrir d'autres nouveaux modèles avec le menu "File / New model", ou "File / New" en cochant "Model" pour un modèle standard.

Il faut ensuite renseigner l'entête du fichier.

Onglet "Main" (principal) :

Nota : Si le champ "Author" n'a pas été précédemment renseigné une boite de dialogue s'ouvre pour appliquer ce nom à tous les sous-modèles :

Onglet "Tags" (étiquettes) :

Onglet "Help" (aide) :

Onglet "History" (historique) :

Usage : Entrer le texte de la modification puis cliquer sur le bouton "Add" pour remplir les automatiquement autres champs.

Onglet "Scripting" (scriptage) :

Modèles et sous-modèles

Les fichiers LDraw peuvent contenir un modèle simple composé d'un assemblage de pièces unitaires, ou un modèle multiple composé du modèle principal (le premier dans le fichier) et de sous-modèles appelés par le modèle principal ou d'autres sous-modèles.

Ajouter un sous-modèle standard

Pour créer un sous-modèle dans le modèle courant utiliser le menu "Session / Add new submodel ..".

On peut aussi utiliser le menu "Session / Add new .." en cochant "Model" pour un sous-modèle standard :

Il faut ensuite renseigner l'entête du sous-fichier comme l'entête d'un fichier standard, avec en plus la possibilité de changer le nom du sous-fichier.

Pour déplacer des pièces du modèle principal dans un sous-modèle :

Pour dupliquer un sous-modèle :

Modèle ou sous-modèle de pièce dynamique

Pour créer un modèle de pièce dynamique utiliser le menu "File / New" en cochant "Path part", ou pour un sous-modèle "Session / Add new" en cochant également "Path part".

Créer un modèle pour l'ajouter à sa bibliothèque de gabarits ou créer un sous-modèle pour l'utiliser directement dans son modèle en cours.

Cliquer sur "Yes / Proceed" pour continuer, sinon cliquer sur "Cancel" pour annuler et ensuite utiliser un gabarit existant au lieu de partir de rien. Cocher "Don't ask again" pour ne plus poser la question ultérieurement.

Onglet "Main" (principal) :

Onglet "Tags" (étiquettes) :

Onglet "Help" (aide) :

Onglet "History" (historique) :

Onglet "Path" (chemin) :

Nota : Pour modifier l'entête de la pièce dynamique il faut utiliser le menu "Session / Edit header" ou hors sélection (avec "Echap") utiliser la touche "Entrée".

Exemple de pièce dynamique

0 FILE hose01.ldr
0 AUTHOR LDCad
0 !CATEGORY technic
0 !KEYWORDS flexible, pneumatic
0 !LDCAD CONTENT [type=path] [addFallBack=default] [looped=false] [displayKind=mm] [curveStep=0] [displayLenCor=0]

0 !LDCAD PATH_POINT [type=bezier] [posOri=0 0 0 1 0 0 0 0 1 0 -1 0] [prevCPDist=25] [nextCPDist=17] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]
0 !LDCAD PATH_POINT [type=bezier] [posOri=26 15 14 0 0 -1 0 -1 0 -1 0 0] [prevCPDist=21.5] [nextCPDist=25] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]
0 !LDCAD PATH_POINT [type=bezier] [posOri=38 80 40 0 0 -1 0 -1 0 -1 0 0] [prevCPDist=25] [nextCPDist=5] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]
0 !LDCAD PATH_POINT [type=bezier] [posOri=38 100 40 0 0 -1 0 -1 0 -1 0 0] [prevCPDist=5] [nextCPDist=33.5] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]
0 !LDCAD PATH_POINT [type=bezier] [posOri=-23.236 199.403 60 0 0.256 -0.967 0 -0.967 -0.256 -1 0 0] [prevCPDist=30.5] [nextCPDist=25] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]

0 !LDCAD PATH_SKIN [donCol=16] [donOri=1 0 0 0 1 0 0 0 1] [donPart=ldcPnuHoseSeg.dat] [donYSize=400%] [donCen=absCen] [donCenYOfs=0] [donFinScale=fitDon2Seg] [donPlace=deform] [donYAlign=0] [segSize=100%] [segSizeTol=5%] [segsCnt=0] [segsGrp=0] [segsMaxMerge=10] [donInline=false] [segsEdgeDelKind=keepFirstLeft]

0 !LDCAD PATH_CAP [group=start] [color=16] [posOri=0 0 0 1 0 0 0 0 1 0 -1 0] [extraLen=8mm] [part=165.dat]
0 !LDCAD PATH_CAP [group=end] [color=16] [posOri=-23.236 199.403 60 0 -0.256 0.967 0 0.967 0.256 -1 0 0] [extraLen=8mm] [part=165.dat]

0 !LDCAD GENERATED [generator=LDCad 1.4 Alpha]
0 //This is the fallback LDraw content for above PATH configuration.
0 // Do not edit, any changes will be lost upon regeneration.
0 // The path is approx 102.261589 mm (255.65) and exists out of 50 segments.

Modèle ou sous-modèle de ressort

Pour créer un modèle de ressort utiliser le menu "File / New" en cochant "Spring part", ou pour un sous modèle "Session / Add new" en cochant également "Spring part".

Créer un modèle pour l'ajouter à sa bibliothèque de gabarits ou créer un sous-modèle pour l'utiliser directement dans son modèle en cours.

Cliquer sur "Yes / Proceed" pour continuer, sinon cliquer sur "Cancel" pour annuler et ensuite utiliser un gabarit de ressort existant au lieu de partir de rien. Cocher "Don't ask again" pour ne plus poser la question ultérieurement.

Onglet "Main" (principal) :

Onglet "Tags" (étiquettes) :

Onglet "Help" (aide) :

Onglet "History" (historique) :

Onglet "Spring" (ressort) :

Nota : pour modifier l'entête du ressort il faut utiliser le menu "Session / Edit header".

 

Sauvegarde

Utiliser le menu "File / Save" (Ctrl+S) ou le bouton correspondant pour sauvegarder le fichier contenant le modèle ou sous-modèle actif. Utiliser "File / Save as" pour le sauvegarder sous un autre nom ou dans un autre dossier.

Pour sauvegarder tous les fichiers ouverts utiliser le menu "File / Save all" (Ctrl+Maj+S).

Nota : Au moment de la sauvegarde, LDCad ajoute le contenu des fichiers donneurs des pièces dynamiques pour permettre d'utiliser le fichier LDraw généré par d'autres programmes externes.

 

Sortie

Pour sortir du programme cliquer sur le bouton rouge à la croix, à droite de la barre de titre.

Pour sortir du fichier en cours utiliser le menu "File / Close", ou cliquer sur "Close" dans le panneau session.

Sinon utiliser le menu "File / Close all" pour fermer tous les fichiers ouverts, ou "File / Close unchanged" pour fermer tous les fichiers ouverts non modifiés.

Nota : Lors de la sortie un message de confirmation apparait si un fichier modifié n'a pas été sauvegardé au préalable.

 

Pièces

Une pièce est la représentation virtuelle au format LDraw d'une pièce LEGO réelle. Le programme LDCad ne fournit aucune pièce en lui-même, mais utilise les bibliothèques du site LDraw.org.

Bibliothèques de pièces

Il y a deux bibliothèques de pièces LDraw sur le site LDraw.org. La principale est la bibliothèque officielle des pièces validées. La seconde concerne les pièces soumises par leur auteur et en attente de correction ou de validation.

La bibliothèque officielle est mise-à-jour environ deux fois par an et la non officielle à chaque mise-à-jour de fichier dans "Parts Tracker".

En dehors de ces deux bibliothèques vous pouvez trouver d'autres pièces, Lego ou Non, pouvant être utilisées par LDCad, à condition qu'elles utilisent le format LDraw.

Pièce manquante

En utilisant un modèle créé par un tiers, il peut arriver que ce modèle utilise des pièces qui ne soient pas dans votre bibliothèque.

Pour connaître les pièces manquantes éventuelles, utiliser le menu contextuel "Select / Missing file parts" du panneau "Source" pour toutes les sélectionner (si on est dans le bon sous-fichier éventuel).

Pour résoudre ce problème, mettre à jour votre bibliothèque ou demander les fichiers manquants à l'auteur du modèle, s'ils sont spécifiques.


Exemple de tuyau LSynth manquant sur le Set 8460 d'Eric Albrecht modélisé avec MLCad et utilisant la bibliothèque LSynth. Chaque élément LSynth manquant est remplacé par un petit référentiel rouge. Ici, il faut soit charger la bibliothèque LSynth (simple), soit supprimer toutes les pièces manquantes et reconstruire le tuyau avec LDCad (plus long).

Ajouter des pièces au modèle

Pour insérer une pièce il faut au préalable avoir une session ouverte, soit en créant un nouveau fichier ("New .."), soit en en ouvrant un existant ("Open .."). Voir le chapitre "Démarrer un modèle".

Pour sélectionner une pièce dans le panneau pièce :

Il y a quatre méthodes pour insérer une nouvelle pièce :

Un conseil : Insérer la première pièce du modèle à "X=Y=Z=0" et les suivantes à partir de la première. Pour les sous-modèles, ayant un point de rotation dans le modèle principal, mettre de préférence ce point de rotation à "X=Y=Z=0".

Voir le chapitre suivant pour les paramètres de la nouvelle pièce qui utilisent les variables de travail.

Voir également le chapitre sur l'attirance pièce pour son positionnement.

Variables de travail

Toutes les insertions ou éditions faites sont basées sur les variables de travail courantes. Ce sont les :

Fichiers de modèle gabarit

Les modèles gabarits LDCad sont des petits assemblages de pièces au format LDraw que vous pouvez faire glisser du panneau pièces dans vos modèles, comme toute autre pièce ou modèle. Pour cela LDCad utilise par défaut le dossier "C:/Users/tchang/AppData/Roaming/LDCad/templates/shortcut" (changer tchang par votre nom d'utilisateur Windows) qui contient tous les gabarits par défaut.

Ces gabarits concernent de petits assemblages fixes (roue), articulés (charnière), comportant une pièce dynamique (câble électrique, tuyau pneumatique, ressort), ou des pièces à maillons (chaîne).

Les gabarits par défaut se trouvent dans le groupe "Templates" du panneau pièces.

Un message apparait au moment de l'insertion :

Si le gabarit ne peut être décomposé (pièce souple ou à maillons) le message se limite à :

Vous pouvez ajouter vous-même des gabarits en ajoutant un nouvel emplacement avec le menu "Prefs / LDraw / User templates", puis en sauvegardant un ou plusieurs fichiers LDraw à cet endroit. Les lignes directrices pour les créer sont :

Lorsque vous prévoyez de créer de nombreux modèles vous-même il peut être nécessaire de créer pour eux des groupes personnalisés (.pbg) dans le panneau pièce. De cette façon vous pouvez les organiser plus logiquement à l'intérieur de ce panneau.

La modification de gabarit existant peut faire apparaître un message de confirmation :

Cliquer sur "Yes/Proceed" pour éditer le gabarit officiel, sinon sur "Cancel" pour annuler et cocher "Don't ask again" pour que la question ne soit plus posée ultérieurement.

Une utilisation importante des gabarits, dans la configuration de LDCad par défaut, concerne les pièces dynamiques (pièces souples), c'est-à-dire les pièces de chemin et les ressorts. Ces gabarits définissent une situation de départ utile pour ajouter par exemple un tuyau pneumatique ou un amortisseur à votre modèle.

Vous pouvez créer ces types de gabarits vous-même en démarrant un fichier de chemin ou de ressort autonome dans LDCad en utilisant le menu "File / New .." et en cochant "Path part" ou "Spring part". Il faut les sauvegarder dans les sous-dossiers "template/path" pour les chemins ou "template/spring" pour les ressorts.

Edition de pièce

Il est possible d'éditer les pièces. Le menu : "Prefs / Editing / Part editing / Part (shadow) editing" doit être sur "Enabled". A partir de ce moment une "clef plate" apparait sur les icônes des pièces dans le panneau pièces, permettant l'édition.

Un message peut apparaître si vous utilisez une bibliothèque fantôme compressée :

Voir le chapitre : Bibliothèque fantôme.


Affichage d'une pièce en cours d'édition.

Nota : Attention les entités de type 2 (ligne), 3 (triangle), 4 (quadrilatère), 5 (ligne conditionnelle), si elles sont utilisées dans un modèle alors ce modèle est considéré comme une pièce, alors évitez d'en mettre dans le modèle principal.

Un message d'erreur apparaît pour éviter ce problème :

Aller dans la catégorie "Special / LDraw part building items" du panneau pièce pour insérer des entités de base de type 2 (ligne), 3 (triangle), 4 (quadrilatère), 5 (ligne conditionnelle), dans la pièce en cours d'édition avec des valeurs nulles :

Les insérer de préférence dans le panneau code source, puis les éditer pour leur donner des valeurs voulues. Voir le chapitre : Modification d'une entité.

 

Pièces assemblées

Dans ce chapitre nous parlons des pièces présentes dans la bibliothèque qui sont en réalité des assemblages fixes de pièces unitaires. Pour les sous-modèles, voir le chapitre : Modèle multiple (MPD).

Pièces assemblées dans la bibliothèque

Ces pièces ont généralement le mot "(Complete)" entre parenthèses dans leur désignation et/ou c01, c02, ... dans leur nom de fichier.

Si l'on a besoin de cet assemblage dans la configuration proposée par la bibliothèque alors pas de problème cet assemblage s'insère comme une pièce ordinaire.

Si l'on a besoin de cet assemblage dans une autre configuration, voici la marche à suivre :

Minifigs

En attendant un module spécifique pour créer et insérer une minifig personnalisée dans LDCad, suivre les étapes suivantes :

Cela est également valable avec les "Technic Action Figure" 2698c01.dat, les "Complete friends figures" ou les "Complete fabuland figures".

Roues

L'assemblage des roues composées d'une jante et d'un pneu se trouvent dans "Templates / Wheels".

Articulations

L'assemblage des pièces articulées se trouvent dans "Templates / Hinges/turntables" et dans "Templates / Misc".

 

Pièces texturées

LDCad est capable de gérer les pièces ou autocollants texturés, c'est-à-dire des pièces à motif recevant la projection d'une image sur ses faces.

Ces pièces utilisent la méta-commande de Texturation (!TEXMAP).


La projection peut se faire sur des faces planes, cylindriques ou sphériques.

Pour que les images s'affichent il faut mettre "Prefs / LDraw / Textures" sur "Enable", et que "Prefs / LDraw / Vertex processing" ne soit pas sur "None". Sinon la pièce s'affiche comme si elle n'avait pas de motif.

Si l'image n'est pas accessible ou inexistante le motif est remplacé par une grande croix blanche.

Cet affichage se fait dans la fenêtre graphique et dans le panneau pièces.

Pour créer un autocollant texturé rectangulaire vous pouvez utiliser : Textured sticker generator, du même auteur.

 

Pièces dynamiques

Les types de pièces dynamiques ou pièces souples concernent :

Utilisation de pièce dynamique

Les pièces dynamiques prédéfinies se trouvent dans le panneau pièces dans le groupe de pièces des gabarits ("Templates").

Voir : Tutoriel : Edition avancée et en particulier le chapitre Pièces dynamiques et les chapitres qui suivent.

Manipulation des points de passage

  • Point de passage de chemin (Bezier).
  • Sélectionner le petit référentiel coloré pour déplacer le point.
  • Déplacer la boule verte pour augmenter/diminuer la raideur du chemin vers le point suivant.
  • Déplacer la boule rouge pour augmenter/diminuer la raideur du chemin vers le point précédent.
  • Point de passage de chemin circulaire (Circle).
  • Sélectionner le petit référentiel coloré au centre pour déplacer le point.
  • Déplacer l'une des boules jaune pour augmenter/diminuer le rayon du chemin.
  • Déplacer la boule verte pour augmenter/diminuer la raideur du chemin vers le point suivant.
  • Déplacer la boule rouge pour augmenter/diminuer la raideur du chemin vers le point précédent.
  • Lors du déplacement interactif d'une boule, suivre la valeur dans la barre de statut.


    Pour le point de chemin circulaire, il est aussi possible, en appuyant sur le bouton central de la souris au-dessus d'une boule, d'ouvrir cette boite de dialogue pour entrer la valeur exacte directement. On peut aussi passer par la boite de dialogue "Path point / selection properties" et son champ "Radius" (Rayon).

    Pour passer d'un type de point à l'autre, le sélectionner, puis avec le bouton du milieu de la souris ouvrir la boite de dialogue "Path point / selection properties". Ensuite sélectionner le type dans le champ "Type".

    Pièces dynamiques existantes

    Câble électrique

    Les gabarits se trouve dans "Templates / Electric cables".

    Câble électrique Power Functions

    Les gabarits se trouve dans "Templates / Power functions".

    La construction utilise un élément de base (donneur officiel LDCad) :


    Exemple du câble.

    Chaîne Minifig

    Le gabarit se trouve dans "Templates / Chains".

    La construction utilise 2 éléments de base :

    Nota : La chaîne générée doit posséder 21 maillons intermédiaires (Chaîne 30104) ou 5 maillons intermédiaires (Chaîne 92338).

    Chaîne Bionicle

    Le gabarit se trouve dans "Templates / Chains".

    Cordage

    Le gabarit se trouve dans "Templates / Ropes and strings".


    Exemple du cordage standard (rond).


    Exemple du cordage utilisant l'élément LSynth LS60.dat.

    Pour cela utiliser :
    0 !LDCAD PATH_SKIN [donCol=0] [donOri=1 0 0 0 0 1 0 -1 0] [donPart=LS60.dat] [donYSize=100%] [donCen=absCen] [donFinScale=segMerge] [donPlace=refsDyn] [segSize=75%] [segSizeTol=5%] [segsMaxMerge=1]

    Cordage avec tenons

    Le gabarit se trouve dans "Templates / Ropes and strings".

    Axe Technic flexible (Flexible d’entraînement)

    Le gabarit se trouve dans "Templates / Technic".

    Axe Technic flexible rigide aux extrémités

    Le gabarit se trouve dans "Templates / Technic".

    Câble Technic "Flex-System"

    Le gabarit se trouve dans "Templates / Technic".

    Tuyau de guidage Technic "Flex-System"

    Le gabarit se trouve dans "Templates / Technic".

    Câble+Tuyau Technic "Flex-System"

    Le gabarit se trouve dans "Templates / Technic".

    Tuyau rigide 3 mm

    Le gabarit se trouve dans "Templates / Technic".

    Tuyau pneumatique évasé

    Les gabarits se trouve dans "Templates / Pneumatic". Deux versions : Standard et LQ (basse qualité).

    Voir création dans le tutoriel : Tutoriel : Tuyau pneumatique.

    Tuyau annelé

    Le gabarit se trouve dans "Templates / Technic". Deux versions : Standard et LQ (basse qualité)

    Courroie section ronde

    Le gabarit se trouve dans "Templates / Rubber bands".

    Courroie section carrée

    Le gabarit se trouve dans "Templates / Rubber bands".

    Chaîne Technic d'entraînement

    Les gabarits, chemin ouvert ou fermé, se trouvent dans "Templates / Chains".

    Chaîne Technic porteuse

    Les gabarits, chemin ouvert ou fermé, se trouvent dans "Templates / Chains".

    La construction utilise un élément de base :

    Se monte généralement sur :

  • 48451.dat Technic Turntable New with Hole Top : Rayon ~71.3 LDU
  • 2855.dat Technic Turntable Type 1 Top : Rayon ~71.3 LDU
  • 3649.dat Technic Gear 40 Tooth : Rayon 50 LDU
  • 73071.dat Technic Differential : Rayon 30 LDU
  • 6573.dat Technic Differential with Gear 16 Tooth and 24 Tooth : Rayon 20 et 30 LDU
  • 3648A.dat Technic Gear 24 Tooth with 3 Axleholes : Rayon 30 LDU
  • 3648B.dat Technic Gear 24 Tooth with Single Axle Hole : Rayon 30 LDU
  • 76019.dat Technic Gear 24 Tooth Clutch with DkGray Center : Rayon 30 LDU
  • 3650A.dat Technic Gear 24 Tooth Crown : Rayon 30 LDU
  • 4019.dat Technic Gear 16 Tooth : Rayon 20 LDU
  • 6542A.dat Technic Gear 16 Tooth with Clutch : Rayon 20 LDU
  • 3647.dat Technic Gear 8 Tooth : Rayon 10 LDU

  • Exemple avec pignons 3648B et 3649.

    Chaîne Technic porteuse large

    Les gabarits, chemin ouvert ou fermé, se trouvent dans "Templates / Chains".

    La construction utilise un élément de base :

    Se monte généralement sur :

  • 57519.dat Technic Sprocket Wheel : Rayon 48.3 LDU
  • 57520.dat Technic Sprocket Wheel : Rayon 30 LDU

  • Exemple en ajoutant un 3ème point pour simuler la gravité en haut de la chaîne.

    Ressort

    Les gabarits pour les amortisseurs se trouvent dans "Templates / Shocks".

    Voir : Modèle ou sous-modèle de ressort pour créer un nouveau ressort, et Amortisseur pour sa mise en place.

    Création de pièce dynamique

    La création de pièce dynamique doit être envisagée seulement lorsque le gabarit de la pièce dynamique correspondant à votre besoin n'existe pas. Les étapes à suivre se résument à :

    Pièce dynamique à longueur fixe

    Pour avoir une pièce dynamique ayant une longueur fixe, il faut aller dans le menu "Session / Edit header" d'une pièce dynamique pour ouvrir la boite de dialogue "Edit header", puis dans l'onglet "Path" ajouter une ou plusieurs contraintes de longueur dans "Length constains". Voir le chapitre : Modèle ou sous-modèle de pièce dynamique.

    Vous pouvez aussi limiter le nombre de segments sur le chemin pour obtenir le même effet, mais la méthode des contraintes est destinée à être utilisé combinée avec la génération d'inventaire, bien que cela ne soit pas utilisé à l'heure actuelle (v1.5).

    Fichiers donneurs

    Les fichiers donneurs sont des pièces LDraw spéciales (.dat) utilisées lors de la génération du contenu d'un chemin.

    Lorsqu'ils sont utilisés par exemple pour générer une pièce de chemin, ils sont recherchés dans les emplacements LDraw standards. Mais, il est préférable de les garder séparés pour une meilleure organisation. Les donneurs par défaut de LDCad se trouvent dans le sous-dossier "donors". Suivant l'emplacement de votre configuration, cet endroit devra également être dans la liste des dossiers de recherche LDraw.

    Si vous concevez le contenu (partie souple) d'un chemin personnalisé, vous devrez également créer un certain nombre de fichiers donneurs. Vous pouvez stocker ces fichiers n'importe où, même dans les bibliothèques LDraw existantes. Mais c'est plus propre de leur donner un dossier spécial quelque part et d'ajouter cet emplacement dans les recherches en utilisant le type spécial "donor" dans la boite de dialogue de recherche LDraw, accessible depuis le menu "Prefs / LDraw / Search (library) paths".

    Créer un fichier donneur est identique à la création de pièce ou primitive LDraw des bibliothèques officielle et non officielle. Le seul problème supplémentaire, qui pourrais vous inquiéter est quand faut-il inclure des lignes conditionnelles, si vous avez l'intention de les utiliser, avec la méthode de positionnement de la déformation. Car cela pourrait entraîner la génération de très gros fichiers, alors que ce n'est pas vraiment la peine visuellement parlant.

    Avant de créer des donneurs personnalisés, il serait utile de parcourir ceux disponibles par défaut dans LDCad, car dans ceux que j'ai ajouté vous trouverez quelques commentaires sur leur utilisation ici et là.

     

    Couleur

    Voir le chapitre : Panneau couleurs pour une description du choix des couleurs.

    Voir les chapitres : Configuration panneau couleurs et Configuration palette de couleurs, pour sa configuration.

    Définir la couleur par défaut

    Utiliser le panneau couleurs pour définir la couleur par défaut ou couleur courante. Cette couleur est utilisée pour afficher les pièces dans le panneau pièces et sera la couleur de toutes les pièces insérées ensuite dans le modèle.

    Changer la couleur des pièces

    Après sélection, cela est fait en utilisant le panneau couleurs. L'utiliser pour naviguer jusqu'à la couleur désirée, et la cliquer dans la "roue des couleurs" (camembert). Cela changera la couleur courante indiquée dans la barre juste en dessous. Cliquer sur cette barre appliquera la couleur désirée à la sélection courante. On peut également faire un double clic directement sur la couleur désirée dans le camembert.

     

    Modes d'attirance

    Pour mettre en place une pièce ou la déplacer il y a deux modes d'attirance possible :

    En dehors de ces modes, il est toujours possible de placer une pièce approximativement, puis d'éditer ses propriétés (bouton central de la souris) pour changer ses coordonnées et orientation.

    Attirance grille

    Ce mode est actif si GS (Grid Snapping) est actif dans le panneau point de vue.

    Toutes les insertions utilisent une "attirance relative sur le pas de la grille" par défaut, donc si la dernière pièce sélectionnée était sur un emplacement non courant par exemple à 4,4,4 en utilisant les pas 10,8,10, elle sautera à 14,4,14 puis 24,4,24 .... en étant sur le plan XZ (c'est différent de MLCad qui sautera en absolu). Je pense que ce pas relatif est meilleur parce qu'il permet des insertions rapides par exemple les chevilles Technic (Technic Pin) dans une poutre (Beam), après avoir mis la première correctement. Dans MLCad vous aviez à ajuster chaque cheville séparément ou utiliser une grille plus fine pour tout.

    Voir le chapitre : Tutoriel : Base du placement des briques.

    Attirance pièce

    Ce mode est actif si PS (Part Snapping) est actif dans le panneau point de vue.

    Voir le chapitre : Tutoriel : Base du placement des briques, en utilisant l'attirance pièce.

    Lorsqu'une pièce n'existe pas dans la bibliothèque fantôme, utiliser par exemple l'astuce du remplacement d'une pièce par une autre. Voir le chapitre : Remplacement.

     

    Etape de construction

    Chaque modèle ou sous-modèle peut être découpé en étapes de construction. Une étape correspondant à toutes les pièces ajoutées ensemble, comme sur une page de manuel d'instructions par exemple.

    La gestion des étapes se fait par le panneau étape en haut à gauche de la zone graphique et le menu "Stepping" qui apparaît lorsqu'on clique dessus. On a aussi certains boutons de la barre d'outils.

    Etape ordinaire

    Une étape ordinaire correspond à l'ajout de la méta-commande : 0 STEP dans le code source.

    Utiliser le menu "Stepping / Insert" pour ajouter une étape avant celle courante, "Stepping / Selection insert" pour ajouter une étape avant la pièce principale de la sélection, et "Stepping / Append" pour ajouter une étape après la dernière.

    On peut aussi ajouter une étape après la dernière avec le bouton correspondant de la barre d'outils.

    On peut également ajouter une étape ordinaire avec le panneau pièce : "Special / LDraw meta items / Building step meta". Glisser cette méta-commande directement à l'endroit voulu dans le panneau code source.

    Etape de rotation

    Une étape de rotation permet d'afficher le modèle suivant une orientation temporaire.

    Elle correspond à l'ajout de méta-commandes : 0 ROTSTEP xxx dans le code source.

    La rotation peut se faire suivant les 3 angles de façon absolue, relative ou incrémentale.

    Pour ajouter une étape de rotation, il faut d'abord ajouter une étape ordinaire comme vu précédemment, puis de modifier cette méta-commande d'étape ordinaire en étape de rotation. Voir : Edition d'une étape (STEP ou ROTSTEP).

    On peut également ajouter une étape de rotation avec le panneau pièce : "Special / LDraw meta items / Rotated building step meta". Glisser cette méta-commande directement à l'endroit voulu dans le panneau code source, puis l'éditer. Voir : Edition d'une étape (STEP ou ROTSTEP).

    Visualisation par étape

    On peut visualiser le modèle dans l'état d'une étape donnée.

    Lorsqu'une étape est sélectionnée, toutes les pièces de cette étape et celles des étapes précédentes s'affichent dans la zone graphique tandis que celles des étapes suivantes sont cachées.

    Lorsqu'une étape de rotation est sélectionnée, l'orientation des vues tient compte des angles donnés. Pour voir les étapes de rotation s'afficher automatiquement, cliquer sur "NSR" et passer à "ASR" dans le panneau point de vue ou utiliser le raccourci B.

    Dans le menu "Stepping" cliquer sur "First" pour aller à la première étape, "Last" pour aller sur la dernière, "Previous" pour la précédente, "Next" pour la suivante et "Selected" pour aller à l'étape de la pièce principale de la sélection. Dans le même menu on peut également sélectionner une étape par son numéro d'ordre.

    On peut aussi utiliser les boutons "First", "Previous", "Next" et "Last" de la barre d'outils.

    On peut aussi visualiser l'étape d'une pièce sélectionnée avec le menu contextuel "Selection / Stepping / Selected" ou en cliquant dans le panneau étape "Stepping / Selected".

    Gestion des étapes

    Utiliser le menu "Stepping / Del current" pour supprimer l'étape sélectionnée courante. Les pièces composant cette étape appartiennent alors à l'étape précédente. On peut aussi cliquer sur la ligne de l'étape à supprimer dans le panneau code source et taper "Suppr" ou "Del" au clavier.

    Utiliser le menu "Stepping / Move to step" pour déplacer la sélection à l'étape de son choix.

    Pour modifier une méta-commande d'étape voir : Edition d'une étape (STEP ou ROTSTEP).

    On peut aussi sélectionner toutes les pièces de l'étape d'une pièce sélectionnée avec le menu contextuel "Select / Same Step(s)".

     

    Groupe de pièces

    On peut grouper une sélection de pièces pour pouvoir manipuler ce groupe comme une seule pièce.

    Utiliser le menu contextuel "Selection / Grouping / Group selection" pour créer un groupe de la sélection courante. Vous pouvez aussi utiliser le bouton correspondant de la barre d'outils ou le raccourci Ctrl+G.

    Pour ajouter des pièces à un groupe, sélectionner une pièce du groupe puis avec Ctrl+Clic sélectionner les pièces à ajouter. Utiliser ensuite le menu contextuel "Selection / Grouping / Add selection to group".

    Les groupes n'apparaissent pas explicitement dans le panneau code source, mais lorsque l'on fait un clic sur une ligne de code appartenant à un groupe toutes les lignes appartenant à ce groupe sont également sélectionnés.

    Pour supprimer un groupe, sélectionner une pièce du groupe puis avec le menu contextuel "Selection / Grouping / Ungroup selection" vous supprimez le/les groupes de premier niveau des pièces sélectionnées.

    Pour supprimer tous les groupes, utiliser le menu contextuel "Selection / Grouping / Ungroup all".

    Lorsque l'on copie un groupe de pièces, le groupe n'est pas copié. Si l'on veut grouper les pièces de la nouvelle sélection, utiliser Ctrl+G ou le menu contextuel. Si les 2 groupes sont identiques, il est préférable d'utiliser la notion de sous-modèle.

    Un groupe de pièces appartient à la couche de regroupement actif. Si l'on change de couche de regroupement la sélection du groupe n'est pas active.

    Pour avoir une information sur les méta-commandes de groupe voir : Métas de groupes.

    Couche de regroupement

    Par défaut les pièces sont dans la couche 1. Il y a 32 couches de disponible. Pour changer de couche survoler le panneau session et dans l'onglet "Normal" ou "Nested", cliquer sur "Grouping layer". Sélectionner une nouvelle couche dans le menu "Grouping layer" qui s'affiche. Sélectionner "0: none/disabled" pour aucune.

    On peut aussi changer de couche par défaut avec le menu "Edit / Selection / Grouping / Grouping layer".

    Nota : La notion de couche de regroupement est encore expérimentale en version v1.6 Alpha 4.

    Groupe automatique

    On peut mettre à jour, si besoin, les groupes automatiques avec le menu "Edit / Selection / Grouping / Update auto groups".

    On peut supprimer, si besoin, les groupes automatiques avec le menu "Edit / Selection / Grouping / Clear auto groups".

     

    Pièce cachée

    On peut cacher temporairement une sélection de pièces pour pouvoir mieux visualiser ce qui est derrière ou dessous.

    Utiliser le menu contextuel "Selection / Ghosting / Hide selection" pour cacher la sélection. Vous pouvez aussi utiliser le bouton correspondant de la barre d'outils ou le raccourci H.

    Utiliser le menu contextuel "Selection / Ghosting / Undo last" pour réafficher de façon récursive la dernière sélection cachée. Vous pouvez aussi utiliser le bouton correspondant de la barre d'outils ou le raccourci Ctrl+H.

    Utiliser le menu contextuel "Selection / Ghosting / Show all" pour réafficher toutes les pièces cachées. Vous pouvez aussi utiliser le bouton correspondant de la barre d'outils ou le raccourci Ctrl+Maj+H.

    Utiliser le menu contextuel "Selection / Ghosting / Show selection" pour réafficher les pièces cachées sélectionnées dans le code source. Vous pouvez aussi utiliser le raccourci Maj+H.

    Nota : L'état caché n'est pas sauvegardé, en conséquence les pièces cachées apparaîtront normalement à la prochaine ouverture du fichier.

     

    Echange de buffer

    L'échange de buffer est une façon de sauvegarder en mémoire tampon la position d'une ou plusieurs pièces (position provisoire), puis de les placer à leur position définitive.

    En mode édition "Normal" ou "Nested" le bouton "BXCHG" active ou désactive l'action de ce mécanisme.

    Pour créer des échanges de buffer insérer les méta-commandes "Buffer exchange storage" et "Buffer exchange retrieval" à partir du panneau pièces dans la catégorie "Special parts / LDraw meta Items".

    Nota : Ces méta-commandes ne sont visibles que dans le panneau source.

    Pour les éditer, Voir : Edition d'un échange de buffer (BUFEXCHG).

    Etape 1 :
    Ajout 2 briques
    dans le modèle.
    Sauve état A.
    Etape 2 :
    Ajout 4 pièces
    Positions provisoires.
    Etape 3 :
    Retrouve état A
    Mêmes pièces
    Positions définitives.
    Etape 4 :
    Ajout 2 briques
    supplémentaires.

    Listing de l'exemple :

    Voir fichier : bufferts.ldr (exemple originaire de MLcad).

     

    Méta-commandes d'entête de fichier et commentaire

    On peut ajouter une ligne d'auteur avec le panneau pièce : "Special / LDraw meta items / Author meta". Glisser cette méta-commande directement dans l'entête du fichier du panneau code source, puis l'éditer. Voir : Edition du nom de l'auteur (Author).

    On peut ajouter une ligne d'aide avec le panneau pièce : "Special / LDraw meta items / Help comment meta". Glisser cette méta-commande directement dans l'entête du fichier du panneau code source, puis si besoin l'éditer. Voir : Edition d'une ligne d'aide (!HELP).

    On peut ajouter le type de licence donné aux utilisateurs du fichier après publication avec le panneau pièce : "Special / LDraw meta items / License meta". Glisser cette méta-commande directement dans l'entête du fichier du panneau code source, puis si besoin l'éditer. Voir : Edition de la licence d'utilisation (LICENSE).

    On peut ajouter une ligne d'historique avec le panneau pièce : "Special / LDraw meta items / History comment meta". Glisser cette méta-commande directement dans l'entête du fichier du panneau code source, puis l'éditer. Voir : Edition d'une ligne d'historique (!HISTORY).

    On peut ajouter la catégorie du modèle avec le panneau pièce : "Special / LDraw meta items / Category meta". Glisser cette méta-commande directement dans l'entête du fichier du panneau code source, puis l'éditer. Voir : Edition de la catégorie (!CATEGORY).

    On peut ajouter les mots-clefs définissant le modèle avec le panneau pièce : "Special / LDraw meta items / Keywords meta". Glisser cette méta-commande directement dans l'entête du fichier du panneau code source, puis l'éditer. Voir : Edition des mots clefs (!KEYWORDS).

    On peut ajouter un commentaire avec le panneau pièce : "Special / LDraw meta items / Comment". Glisser cette méta-commande directement à l'endroit voulu dans le panneau code source, puis l'éditer. Voir : Edition de la description ou d'un commentaire.

    On peut aussi ajouter une ligne vide avec le panneau pièce : "Special / LDraw meta items / Empty line". Glisser cette méta-commande directement à l'endroit voulu dans le panneau code source.

     

    Méta-commandes MLCad, LSynth, LPub

    LDCad est capable de gérer la présence de méta-commandes spécifiques à ces programmes.

    LDCad peut les éditer, Voir : Edition de méta-commande MLCad, Edition de méta-commande LSynth, Edition de méta-commande LPub.

     

    Modèle multiple (MPD)

    LDCad permet de gérer des modèles multiples, c'est-à-dire un fichier (.mpd) contenant plusieurs sous-modèles. Le premier sous-modèle ou modèle principal est le modèle affiché par défaut. Les autres sous-modèles sont appelés par le modèle principal ou un autre sous-modèle.

    Création

    Pour créer un fichier MPD commencer par créer un fichier ordinaire avec "File / New model" ou "File / New" en cochant "Model". Cela deviendra par la suite le modèle principal du fichier MPD.

    Le fichier devient un fichier MPD en créant le premier sous-modèle avec "Session / Add new submodel" ou "Session / Add new" en cochant "Model". On peut ensuite créer autant de sous-modèles que l'on veut.

    Utilisation

    Le modèle principal et les sous-modèles peuvent contenir autant de pièces que l'on veut, comme n'importe quel modèle ordinaire. Ces pièces s'insèrent et se gèrent de façon classique.

    En dehors des pièces, ils peuvent contenir les autres sous-modèles qui se gèrent pratiquement comme des pièces ordinaires. Un sous-modèle pouvant appeler un autre sous-modèle sur autant de niveaux que l'on veut, et un sous-modèle peut être utilisé autant de fois que l'on veut.

    La seule contrainte, pour éviter un problème de récursivité, est de ne jamais ajouter un sous-modèle dans le sous-modèle lui-même ou un de ses sous-modèles quel qu'en soit le niveau.

    Pour ajouter un sous-modèle dans le modèle principal ou un autre sous-modèle, allez dans le panneau pièces dans "Model (content) / Content of current model's file", puis le sélectionner et l'insérer dans le sous-modèle actif par glisser/déposer ou la touche "Inser".

    Pour changer de sous-modèle courant, dans la même arborescence du panneau pièces, cliquer sur l'icône de clé plate qui apparait près de la représentation du sous-modèle. On peut également le sélectionner dans la liste du panneau session ou avec le menu "Session / Change current session".

    Pour revenir modèle principal, dans la même arborescence du panneau pièces, cliquer sur l'icône de clé plate qui apparait près de la représentation du modèle principal (avec {M} dans la désignation). On peut également le sélectionner dans la liste du panneau session, avec le menu "Session / MPD main session", ou le bouton "Main model" ou "Ctrl+Fin".

    Lors de l'insertion la couleur par défaut est appliquée au sous-modèle, ce qui n'a aucun effet en général, sauf si certaines pièces du sous-modèle sont de couleur 16, alors la couleur par défaut est affectée à ces pièces. C'est utile pour utiliser un même sous-modèle avec des couleurs différentes dans le modèle principal.

    Gestion

    Utiliser "Session / Set main subfile" pour changer le sous-modèle actif en modèle principal.

    Utiliser "Session / Edit header" pour renommer un sous-modèle ou changer d'autres informations.

    Utiliser "Session / Delete this subfile" pour supprimer le sous-modèle actif.

     

    Modèle à l'échelle

    Sur un exemple de Roland Dahl voici la méthode qu'il a utilisée pour créer un modèle à l'échelle en insérant dans LDCad des images planes de ce modèle.


    Vue 3D du modèle du bateau Endurance utilisé par Ernest Shackleton pour son expédition transantarctique de 1914.

    La méthode détourne l'usage de Textured sticker generator pour créer des autocollants recevant des vues planes du modèle. Ces autocollants sont ensuite ajoutés dans le modèle LDCad et utilisés comme gabarits dans la construction du modèle.

    Nota : Pour changer l'échelle des autocollants il suffit de les sélectionner puis avec le menu contextuel "Properties" de changer les valeurs non nulles des champs "Part orientation" par un nouveau facteur suivant les deux directions principales de l'autocollant.

     

    Modification du modèle

    Sélection

    Les pièces doivent être sélectionnées pour leur appliquer une modification, comme un déplacement, une rotation, un changement de couleur, etc.

    Sélection unitaire

    Une pièce est sélectionnée en cliquant dessus, sa bordure passe en bleu clair. Pour sélectionner des pièces supplémentaires, appuyer sur la touche Ctrl et cliquer sur d'autres pièces. LDCad ajoutera ces pièces à la sélection ou les enlèvera si elles sont déjà dans la sélection.

    La première pièce sélectionnée est la "pièce principale" de la sélection, qui est utilisée comme centre pour toutes les activités d'édition utilisant l'outil de déplacement/rotation. C'est la sorte d'ombrelle qui est visible quand au moins une pièce est sélectionnée. Cet outil est utilisé pour tourner et déplacer les pièces. Vous pouvez changer de pièce principale en cliquant sur une autre pièce dans la sélection tout en appuyant sur Ctrl+Maj.

    Sélection de zone

    Les pièces peuvent être sélectionnées dans une zone rectangulaire. Pour cela :


    Sélection de zone avec gestion de la profondeur.

    Nota : Une pièce doit avoir au moins un sommet dans la zone rectangulaire pour être sélectionnée.

    Information de sélection

    Pour avoir des informations sur une sélection utiliser le menu contextuel "Selection / Selection info", et mettre "Show info" sur "Yes".

    Le point de référence de chaque pièce correspond à son origine.

    Avec ce menu on peut obtenir la distance ou l'angle entre pièces ou également résoudre les angles à appliquer pour fermer un triangle de pièces (généralement briques et poutres Technic). Les 3 informations peuvent s'afficher conjointement.

    Avec "Loop" sur "Yes" l'information s'affichage également entre la dernière et la première pièce de la sélection.

    Avec "Rel to edit plane" sur "No" le calcul se fait en 3D, et sur "Yes" suivant le plan d'édition 2D actif. La valeur affichée dépend alors du sens de la vue.

    Avec "Apply to grid ori" le calcul se fait par rapport à la grille définie par les 3 premières pièces de la sélection, tout en gardant l'axe courant.

    Distance entre pièces

    Mettre "Show distance" sur "Yes" dans le menu précédent.

    La distance s'affiche en cyan entre les deux pièces de la sélection. S'il y a plus de deux pièces la distance est affichée sur chaque paire de pièces successives.

    Un clic sur la boite contenant la distance met la valeur dans le presse-papier.

    Angle entre pièces

    Mettre "Show angles" sur "Yes" dans le menu précédent.

    L'angle s'affiche en jaune à la seconde pièce de la sélection de trois pièces. S'il y a plus de trois pièces l'angle est affichée sur chaque trio de pièces successives.

    Un clic sur la boite contenant l'angle met la valeur dans le presse-papier.

    Résolution de triangle

    Mettre "Show triangle angles" et "Rel to edit plane" sur "Yes" dans le menu précédent.

    Il faut sélectionner 4 pièces, la première et la dernière devant se rejoindre pour fermer le triangle et les 2 intermédiaires servant respectivement de pivots. Les 2 configurations possibles s'affichent avec des lignes vertes et rouges plus l'hypoténuse blanche. Les angles pour fermer le triangle s'affiche dans une boite verte et une boite rouge suivant configuration.

    Un clic sur la boite contenant les angles de la configuration à retenir met les valeurs dans le presse-papier.

    Voir le chapitre : Tutoriel : Fermer un triangle pour l'utilisation de ces données.

    Copie

    Pour copier une sélection dans le presse-papier utiliser le menu contextuel "Selection / Copy" ou le raccourci clavier Ctrl+C. Une boite de dialogue de paramétrage apparaît :

    Pour ne plus afficher la boite de dialogue précédente sélectionner "Always" aux questions, la première fois qu'elle apparaît, ou au préalable en configurant les options (voir ci-dessous).

    Nota : La boite de dialogue peut varier en fonction des pièces copiées. Voir toutes les options : Options copier/coller.

    Pour couper une sélection et la mettre dans le presse-papier utiliser le menu contextuel "Selection / Cut" ou le raccourci clavier Ctrl+X.

    Pour coller le contenu du presse-papier utiliser le menu contextuel "Selection / Paste" ou le raccourci clavier Ctrl+V. Une boite de dialogue de paramétrage apparaît :

    Remplacement

    Pour remplacer toutes les pièces d'une sélection par une autre pièce, en gardant leur position, orientation et couleur d'origine, il suffit de sélectionner les pièces à remplacer, puis de faire un double-clic sur la nouvelle pièce du panneau pièces.

    Evidemment cela marche pour remplacer une seule pièce sélectionnée par une autre pièce. Cette utilisation est particulièrement pratique pour remplacer une pièce simple par une version à motif ou une pièce à motif par un autre motif, comme une tête de Minifig par une autre.

    Une autre utilisation possible de la propriété de garder la position et l'orientation est de placer facilement une pièce ayant les propriétés d'attirance pièce, puis de la remplacer par une autre similaire ne l'ayant pas.

    Déplacement

    Vous pouvez déplacer une pièce en la "saisissant" avec le bouton gauche de la souris. Elle se déplacera sur le plan de la grille courante en utilisant le pas courant. Vous pouvez aussi utiliser l'outil de manipulation en le mettant en mode déplacement (utiliser le cube en haut de l'outil). Quand c'est fait alors un grand double chemin en croix sera visible. Vous pouvez attraper celui qui convient par un clic gauche et déplacer la pièce en gardant le bouton pressé. Cela peut être fait dans une seule direction ou les deux ensemble selon où vous cliquez sur les flèches (indiqué par leur surbrillance).

    Vous pouvez aussi utiliser la boite de dialogue de déplacement manuel, qui s'ouvre en cliquant avec le bouton central de la souris sur les flèches de l'outil de manipulation ou avec le bouton droit de la souris dans le menu "Selection / Move ..".

    Déplacement manuel :
  • New position : Nouvelle position en valeur absolue.
  • Movement vector : Vecteur de déplacement, par rapport à la position actuelle.
  • Coordinates : Coordonnées en X, Y et Z.
  • Toutes les coordonnées sont relatives à la grille courante.

    Rotation

    Tourner peut être fait en utilisant l'outil de manipulation en le mettant en mode rotation. Quand il est dans ce mode il montre un disque segmenté. Cliquez dessus avec la souris en gardant le bouton pressé et déplacez la souris, l'angle courant sera montré visuellement et en degrés. La sélection entière tournera autour du centre de la première pièce sélectionnée (pièce principale). Les pièces tourneront toujours suivant un axe perpendiculaire au plan de la grille courante, même si ce plan n'est pas à niveau. Les futures versions vous laisseront changer le point de rotation des pièces à un autre endroit que le centre de la pièce principale.

    Rotation manuelle :
  • Current editing plane rotation : Rotation dans le plan d'édition (plan de la grille).
  • Angle : Angle de rotation en degrés.
  • Absolute rotation : Rotation en valeur absolue.
  • Toutes les coordonnées sont relatives à la grille courante, sans indication contraire.
  • Roll - Pitch - Yaw rotation : Rotation relative à la sélection, comme si vous étiez dans un avion ou un bateau.
  • Roll : Roulis (Bascule de droite à gauche).
  • Pitch : Tangage (Bascule d'avant en arrière).
  • Yaw : Lacet (Changement de cap).
  • Custom vector rotation : Rotation suivant un axe défini par un vecteur directeur.
  • Vector : Valeur du vecteur en X, Y et Z.
  • Angle : Angle de rotation en degrés.
  • Rotation matrix : Rotation suivant la matrice de transformation définissant Rotation/Echelle/Symétrie/Déformation dans le format LDraw (6 derniers paramètres d'une pièce).
  • Advanced options : Options avancées.
  • Override rotation center : Passe outre le centre de rotation actuel.
  • Modelspace : En valeur absolu (Zéro du modèle).
  • Mainpart space : En valeur relative à la pièce principale de la sélection.
  • Center : Centre de rotation temporaire en X, Y et Z.
  • Centre de rotation manuel :
  • Use custom selection center : Utilise un centre de rotation de la sélection personnalisé.
  • Custom selection center is static : Le centre de rotation est statique.
  • Pos in model (grid) space : Position par rapport à l'origine du modèle (absolu) et suivant le pas de la grille.
  • Pos in mainpart space : Position par rapport à l'origine de la pièce principale de la sélection.
  • Position : Coordonnées en X, Y et Z du centre de rotation.
  • Use ... : Utilise :
         Selection absolute center : Centre absolu de la sélection.
         Mainpart origin : Origine de la pièce principale.
         Mainpart absolute center : Centre absolu de la pièce principale.
  • Nota : Actuellement (v1.6 Alpha 4) les angles de rotation sont en degrés et 1/10ème de degré seulement.

    Symétrie

    Pour symétriser le contenu (en entier) du sous-fichier actif, aller dans le menu "Session / Mirror this subfile".

    Nota : Certaines pièces ont besoin d'information supplémentaire pour un placement angulaire correct. Cette information n'est pas toujours disponible.

    Porte du camion 5580. La symétrie de la porte est OK, mais la vitre n'a pas été retournée.

     

    Modification du code source

    Modification de l'entête

    L'entête du modèle principal ou d'un sous-modèle peut être modifié par le menu "Session / Edit Header".

    Pour la description des différents onglets et champs, voir : Ouvrir un nouveau modèle. La seule différence est qu'il est possible de modifier le nom du fichier ou sous-fichier dans "(sub)file name".

    Il est aussi possible d'éditer une ligne d'entête existante directement, voir ci-dessous : Modification d'une méta-commandes ou entité.

    Nota : Certaines lignes d'entête ne possèdent pas l'édition directe :

    Comme l'indique ce message, il faut alors revenir à l'édition de l'entête.

    Modification d'une méta-commandes ou entité

    Cliquer sur une entité dans la fenêtre graphique ou sur une ligne du panneau code source pour la sélectionner, puis appuyer sur le bouton central de la souris pour l'éditer ou avec le bouton droit de la souris sélectionner la commande "Selection / Properties".

    Edition de la description ou d'un commentaire :

    Edition du nom du sous-fichier (Name) :

    Nota : Cette fonction n'existe plus dans les dernières versions. Editer l'entête.

    Edition du nom de l'auteur (Author) :

    Edition de la catégorie (!CATEGORY) :

    Edition des mots clefs (!KEYWORDS) :

    Edition de la licence d'utilisation (LICENSE) :

    Edition d'une ligne d'aide (!HELP) :

    Edition d'une ligne d'historique (!HISTORY) :

    Edition de la ligne theme du modèle (!THEME) :

    Edition d'une étape (STEP ou ROTSTEP) :

    Nota : L'édition d'une étape ordinaire concerne l'instruction "0 STEP" se trouvant à la fin de l'étape en cours. En conséquence, la dernière étape, si elle ne se termine pas par une instruction d'étape ne peut être éditée et retourne le message :

    (Vous ne pouvez pas éditer la dernière (ou la seule) étape).

    Edition d'un échange de buffer (BUFEXCHG) :

    Edition de méta-commande MLCad :

    Edition de méta-commande LSynth :

    Edition de méta-commande LPub :

    Edition d'entité graphique (pièce ou sous-modèle) :

    Edition de chemin de pièce dynamique :

    Edition de section de ressort :

    Edition de ligne (mode édition pièce) :

    Edition de triangle (mode édition pièce) :

    Edition de quadrilatère (mode édition pièce) :

    Edition de ligne conditionnelle (mode édition pièce) :

     

    Modification OMR

    Cette commande permet de faire le ménage ou compléter l'entête du fichier et d'éventuels sous-fichiers. Elle permet également de rendre le fichier conforme au standard OMR (En-têtes normalisées des modèles officiels). Accessible par le menu "File / Clean-up".

    avec le menu "File / Clean-up", bouton "OMR" ou "OMR settings" :

     

    Script

    LDCad v1.4 et plus récent utilise le langage de programmation lua pour ses scripts. Alors avant d'essayer d'utiliser les scripts dans LDCad il est bon de se familiariser avec l'usage général de ce langage : Lua (en anglais) ou Programmation en language LUA (en français), ou LUA : Le tutoriel (en français).

    Dans LDCad les modules Lua officiels suivants sont toujours disponibles : base, bit32, math, package, string et table.

    Egalement le module spécial ldc permet d'accéder et de communiquer avec les parties internes de LDCad : Voir : Scripting API (en anglais), ou la traduction : Langage des scripts ci-dessous.

    La combinaison du langage lua de base et une collection de fonctions spécifiques à LDCad que vous pouvez utiliser à travers le module ldc ouvre un très grand monde de possibilités.

    Depuis la version v1.6 Beta 2, un nouveau module d'animation a été intégré à LDCad, le module aniTools accompagné du module genTools. Ce module n'est pas encore documenté, mais on peut voir des exemples avec les fichiers "8860.lua" et "42042 - Crawler Crane.lua".

    Edition d'un script

    Pour éditer un script, aller dans "Session / Scripting / Open script" ou "Scripts / xxxx / Open script".

    Nota : Pour que le fichier lua par défaut s'ouvre, un éditeur doit être assigné à ce type de fichier dans l'explorateur de Windows. Voir le chapitre : Installation.

    Exemple avec Notepad++ et le fichier 8248.lua :

    Ouvrir une nouveau script ne semble pas prévu dans LDCad. Pour cela, ouvrir le script par défaut et utiliser le menu "File / Nouveau" de l'éditeur.

    Si le script est modifié en dehors de LDCad, il faut le recharger en cliquant sur "Accept" :

    Fenêtre console

    Lors de la mise au point d'un script, les messages d'erreur s'affichent dans la fenêtre console :

    Cette fenêtre s'ouvre avec le menu : "Scripts / Scripting console".

    Emplacement des scripts

    Il y a deux cas de figures pour l'utilisation des scripts, soit en "Local" pour animer un modèle, soit en "Global" pour une utilisation plus générale.

    Script Local

    Le script porte le même nom que le modèle avec l'extension .lua, et se place dans le même dossier que le modèle.

    La sélection du script se trouve dans le menu "Scripts" sous la rubrique "Local".

    Script Global

    Le script porte un nom à votre convenance avec l'extension .lua, et se place dans un sous-dossier du dossier "scripts".

    Suivant votre version de LDCad et les anciennes versions utilisées, ce dossier "scripts" se trouve dans le dossier d'installation de LDCad, C:/LEGO/LDCad/scripts dans mon cas, ou dans le dossier C:/Users/tchang/AppData/Roaming/LDCad/scripts (remplacer tchang par votre nom d'utilisateur Windows).

    Pour connaitre quel dossier est actif, il suffit d'aller dans le menu "Scripts" et de mettre la souris sur un script de la catégorie "Global" pour faire apparaitre le nom du script et son chemin dans la barre de statut.

    Dans ce dossier "scripts" se trouve le sous-dossier "default" qui contient les scripts fournis avec LDCad. Il est préférable de ne pas modifier ce sous-dossier pour éviter d'avoir un script écrasé lors d'une mise à jour de LDCad.

    Il est préférable de créer un sous-dossier "tchang" (ou votre pseudo personnel), puis dans ce sous-dossier créer un nouveau sous-dossier "global". C'est dans ce dernier sous-dossier qu'il faut placer les scripts. Dans mon exemple : C:/LEGO/LDCad/scripts/tchang/global.

    La sélection du script se trouve dans le menu "Scripts" sous la rubrique "Global".

    Langage des scripts

    Dans LDCad les modules lua officiels suivants seront toujours disponibles : base, bit32, math, package, string et table.

    Egalement disponible est le module spécial à LDCad nommé : ldc, qui permet d'accéder aux outils LDCad et communiquer avec ses composants internes.

    Le module ldc de LDCad introduit les objets userdata (données utilisateurs) suivants :

    Fonctions du module ldc

    Le module ldc expose certaines fonctions simples de haut niveau, qui sont utilisées pour des informations générales et de lien de haut niveau entre les objets ldc :

    Objets du module ldc

    ldc.vector

    L'objet vecteur est utilisé pour stocker une simple coordonnée X,Y,Z ou une direction.
    Un objet vecteur peut être obtenu comme résultat d'autres fonctions ldc, mais vous pouvez également en créer un pour un usage particulier en utilisant son constructeur, comme :
    local myVec=ldc.vector()
    Après cela, vous pouvez utiliser la variable myVec pour manipuler les données x,y,z. Cela se fait à travers une collection de fonctions auxquelles vous avez toujours accès en utilisant la méthode du raccourci lua ":". Exemple :
    myVec:clear()

    Constructeur

    Lors de la création d'un vecteur, en utilisant ldc.vector(), il sera à 0,0,0 par défaut. Vous pouvez changer ce comportement en fournissant des paramètres supplémentaires. Les combinaisons acceptées sont :

    clone

    Tous les objets ldc sont orientés données utilisateur lua, et donc toujours passés par référence. Donc, pour obtenir une copie d'un vecteur vous devez utiliser sa fonction clone. Elle renvoie un nouveau vecteur contenant des données identiques.
    Cette fonction n'a pas de paramètre supplémentaire.

    clear

    clear réinitialise x,y et z à zéro.
    Cette fonction n'a pas de paramètre supplémentaire.

    set

    set peut être utilisé pour changer les valeurs x, y et z du vecteur de la même manière que vous les initialisez en utilisant le constructeur.
    Elle accepte donc les mêmes combinaisons de paramètres comme décrit dans le constructeur.
    Cette fonction n'a pas de valeur de retour.

    setComp

    setComp est utilisé pour changer x, y ou z en utilisant un index comme premier paramètre, où 1 est pour x, 2 est pour y et 3 est pour z.
    Un second paramètre est utilisé comme nouvelle valeur pour le composant indiqué.
    Cette fonction n'a pas de valeur de retour.

    setX

    setX est utilisé pour changer la valeur x du vecteur. Le seul paramètre est la nouvelle valeur de x.
    Cette fonction n'a pas de valeur de retour.

    setY

    setY est utilisé pour changer la valeur y du vecteur. Le seul paramètre est la nouvelle valeur de y.
    Cette fonction n'a pas de valeur de retour.

    setZ

    setZ est utilisé pour changer la valeur z du vecteur. Le seul paramètre est la nouvelle valeur de z.
    Cette fonction n'a pas de valeur de retour.

    get

    Get renvoie x,y et z en une seule fois, comme :
    local x, y, z=myVec:get()
    Ensuite, vous pouvez utiliser les variables lua normales x, y et z dans certains calculs manuels (vecteur).
    Cette fonction n'a pas de paramètre supplémentaire.

    getComp

    getComp renvoie x, y ou z en utilisant un index, où x est 1, y est 2 et z est 3.

    getX

    getX renvoie la valeur courante x du vecteur.
    Cette fonction n'a pas de paramètre supplémentaire.

    getY

    getY renvoie la valeur courante y du vecteur.
    Cette fonction n'a pas de paramètre supplémentaire.

    getZ

    getZ renvoie la valeur courante z du vecteur.
    Cette fonction n'a pas de paramètre supplémentaire.

    add

    add est utilisé pour augmenter x, y et z avec une valeur donnée. La valeur peut être un autre vecteur ou l'une des combinaisons de paramètres du constructeur.
    Cette fonction n'a pas de valeur de retour.

    getAdd

    getAdd renvoie un nouveau vecteur avec le résultat de x, y et z augmenté d'une valeur. La valeur peut être un autre vecteur ou l'une des combinaisons de paramètres du constructeur.

    sub

    sub est utilisé pour diminuer x, y et z avec une valeur donnée. La valeur peut être un autre vecteur ou l'une des combinaisons de paramètres du constructeur.
    Cette fonction n'a pas de valeur de retour.

    getSub

    getSub renvoie un nouveau vecteur avec le résultat de x, y et z diminué d'une valeur. La valeur peut être un autre vecteur ou l'une des combinaisons de paramètres du constructeur.

    mul

    mul est utilisé pour multiplier x, y et z avec une valeur donnée. La valeur peut être un autre vecteur ou l'une des combinaisons de paramètres du constructeur.
    Cette fonction n'a pas de valeur de retour.

    getMul

    getMul renvoie un nouveau vecteur avec le résultat de x, y et z multiplié par une valeur. La valeur peut être un autre vecteur ou l'une des combinaisons de paramètres du constructeur.

    transform

    transform applique une matrice de transformation donnée à x, y et z. La matrice donnée peut être l'une des matrices valides des combinaisons de paramètres du constructeur.
    Cette fonction n'a pas de valeur de retour.

    getTransformed

    getTransformed renvoie un nouveau vecteur qui contient le résultat de la transformation x, y et z avec une matrice donnée. La matrice donnée peut être l'une des matrices valides des combinaisons de paramètres du constructeur.

    normalize

    normalize va redimensionner le vecteur pour que sa longueur devienne 1.0.
    Cette fonction renvoie également l'ancienne longueur du vecteur.
    Cette fonction n'a pas de paramètre supplémentaire.

    getNormalized

    getNormalized renvoie un nouveau vecteur de même direction mais avec une longueur de 1.0.
    Cette fonction n'a pas de paramètre supplémentaire.

    getLength

    getLength renvoie la longueur du vecteur.
    Cette fonction n'a pas de paramètre supplémentaire.

    getDot

    getDot renvoie le produit scalaire de x,y,z avec un second vecteur. Le vecteur donné peut être l'une des combinaisons de vecteurs valides des paramètres du constructeur.

    getCross

    getCross renvoie un nouveau vecteur contenant le produit croisé de x,y,z avec un second vecteur. Le vecteur donné peut être l'une des combinaisons de vecteurs valides des paramètres du constructeur.

    getAngle

    getAngle renvoie l'angle interne avec le second vecteur donné en degrés. Le second vecteur peut être l'une des combinaisons de vecteurs valides des paramètres du constructeur.
    Nota : Cette fonction accepte tout vecteur, la normalisation n'est pas nécessaire.

    getSignedAngle

    getSignedAngle renvoie l'angle entre deux autres vecteurs en degrés, en supposant que sa propre donnée est le plan normal.
    Le résultat est négatif si le premier vecteur donné est devant le second one (par exemple, 2 heures et 3 heures).
    Le premier vecteur doit être donné à l'aide d'un objet vectoriel existant, le second vecteur peut être l'une des combinaisons de vecteurs valides des paramètres du constructeur.
    Nota : Cette fonction accepte tout vecteur, la normalisation n'est pas nécessaire.

    ldc.matrix

    L'objet matrice est un conteneur de matrice mathématique.
    Les opérations de matrice orientées LDCad sont très ciblées pour une utilisation combinée avec les entités LDraw de type 1 au niveau du modèle. A cette fin, toutes les matrices sont censées décrire une position et une orientation seulement. Si besoin, vous pouvez appliquer un facteur d'échelle, mais cela n'est pas supporté officiellement lorsque c'est appliqué au modèle comme le montre LDCad et se traduira par des problèmes d'éclairage, etc.
    Un objet matrice peut être obtenu comme résultat d'autres fonctions ldc, mais vous pouvez également en créer un pour un usage particulier en utilisant son constructeur, comme :
    local myMatrix=ldc.matrix()
    Après cela, vous pouvez utiliser la variable myMatrix pour manipuler les données de la matrice. Cela se fait à travers une collection de fonctions auxquelles vous avez toujours accès en utilisant la méthode du raccourci lua ":". Exemple :
    myMatrix:setIdentity()

    Constructeur

    Lors de la création d'une matrice en utilisant ldc.matrix() elle sera par défaut à l'état neutre "1 0 0 0   0 1 0 0   0 0 1 0   0 0 0 1". Vous pouvez modifier ce comportement en fournissant des paramètres supplémentaires. Les combinaisons acceptées sont :

    clone

    Tous les objets ldc sont orientés données utilisateur lua, et donc toujours passés par référence. Donc, pour obtenir une copie d'une matrice vous devez utiliser sa fonction clone. Elle renvoie une nouvelle matrice contenant des données identiques.
    Cette fonction n'a pas de paramètre supplémentaire.

    set

    La fonction set peut être utilisé pour changer les valeurs de la matrice de la même manière que vous les initialisez en utilisant le constructeur.
    Elle accepte donc les mêmes combinaisons de paramètres comme décrit dans le constructeur.
    Cette fonction n'a pas de valeur de retour.

    setIdentity

    setIdentitiy charge l'état neutre dans les données de la matrice.
    Cette fonction n'a pas de paramètre supplémentaire et n'a pas de valeur de retour.

    setOri

    setOri peut être utilisé pour changer la part orientation (sous-matrice 3x3) des données de la matrice, cela peut être fait en utilisant les combinaisons de paramètres suivants :

    Cette fonction n'a pas de valeur de retour.

    setPos

    setPos peut être utilisé pour changer la part position des données de la matrice, cela peut être fait en utilisant les combinaisons de paramètres vecteur valides du constructeur.
    Cette fonction n'a pas de valeur de retour.

    setMul

    setMul est utilisé pour stocker le résultat de deux autres matrices multipliées ensemble dans la matrice. Il faut donc deux objets matrice comme paramètres.
    La fonction ne renvoie pas de valeur, car elle modifie les données elles-mêmes.

    getOri

    getOri renvoie une copie de la partie orientation de la matrice dans un nouvel objet matrice. La partie position de la matrice résultante est fixée à 0,0,0.
    Cette fonction n'a pas de paramètre supplémentaire.

    getPos

    getPos renvoie un nouvel objet vecteur contenant les données de position de la matrice.
    Cette fonction n'a pas de paramètre supplémentaire.

    get

    Get renvoie 12 nombres qui contiennent les données de la matrice courante dans la notation de ligne de code de type 1 LDraw, comme :
    local x, y, z, a, b, c, d, e, f, g, h, i=myMatrix:get()
    Vous pouvez utiliser ces valeurs lorsque vous voulez faire une manipulation manuelle de bas niveau sur une matrice ou besoin de transmettre les données à certaines bibliothèques tierces.
    Cette fonction n'a pas de paramètre supplémentaire.

    stripOri

    stripOri réinitialise la partie orientation de la matrice à sa valeur neutre, tout en gardant la partie position.
    Une nouvelle matrice contenant une copie de l'ancienne orientation (sans position) sera également retournée.
    Cette fonction n'a pas de paramètre supplémentaire.

    stripPos

    stripPos réinitialise la partie position de la matrice à sa valeur neutre, tout en gardant la partie orientation.
    Une nouvelle matrice contenant une copie de l'ancienne position sera également retournée.
    Cette fonction n'a pas de paramètre supplémentaire.

    limitToOri

    limitToOri supprime les informations de position de la matrice, tout en conservant la partie orientation.
    Cette fonction n'a pas de paramètre supplémentaire et n'a pas de valeur de retour.

    limitToPos

    limitToOri supprime les informations d'orientation de la matrice, tout en conservant la partie position.
    Cette fonction n'a pas de paramètre supplémentaire et n'a pas de valeur de retour.

    mulAB

    mulAB utilise une seconde matrice pour multiplier la première comme : self=self*B
    En plus d'une seconde matrice directe, vous pouvez également utiliser les combinaisons de paramètres matrice du constructeur comme source de "B".
    Cette fonction n'a pas de valeur de retour.

    mulBA

    mulAB utilise une seconde matrice pour multiplier la première comme : self=B*self
    En plus d'une seconde matrice directe, vous pouvez également utiliser les combinaisons de paramètres matrice du constructeur comme source de "B".
    Cette fonction n'a pas de valeur de retour.

    getMulAB

    getMulAB est identique à mulAB, sauf qu'elle renvoie une nouvelle matrice avec les données obtenues sans changer ses propres données.

    getMulBA

    getMulBA est identique à mulBA, sauf qu'elle renvoie une nouvelle matrice avec les données obtenues sans changer ses propres données.

    mulOriAB

    mulOriAB utilise une seconde matrice pour transformer sa sous-matrice d'orientation 3x3, comme : self=self*B
    Les informations de position de la matrice restent inchangées.
    En plus d'une seconde matrice directe, vous pouvez également utiliser les combinaisons de paramètres d'orientation de matrice du constructeur comme source de "B". Voir aussi setOri.
    Cette fonction n'a pas de valeur de retour.

    mulOriBA

    mulOriBA utilise une seconde matrice pour transformer sa sous-matrice d'orientation 3x3, comme : self=B*self
    Les informations de position de la matrice restent inchangées.
    En plus d'une seconde matrice directe, vous pouvez également utiliser les combinaisons de paramètres d'orientation de matrice du constructeur comme source de "B". Voir aussi setOri.
    Cette fonction n'a pas de valeur de retour.

    getMulOriAB

    getMulOriAB est identique à mulOriAB, sauf qu'elle renvoie une nouvelle matrice avec les données d'orientation obtenues sans changer ses propres données.

    getMulOriBA

    getMulOriBA est identique à mulOriBA, sauf qu'elle renvoie une nouvelle matrice avec les données d'orientation obtenues sans changer ses propres données.

    setTranslate

    setTranslate charge une transformation de translation dans la matrice. Elle remplace à la fois les informations de position et d'orientation.
    La translation peut être donnée par toute combinaison de paramètres de vecteur valide (voir le constructeur du chapitre ldc.vector).
    Cette fonction n'a pas de valeur de retour.

    mulTranslateAB

    mulTranslateAB effectue une transformation de translation sur ses données actuelles. La translation donnée (sous forme de matrice) est appliquée comme : self=self*transMatrix
    La translation peut être donnée par toute combinaison de paramètres de vecteur valide (voir le constructeur du chapitre ldc.vector).
    Cette fonction n'a pas de valeur de retour.

    mulTranslateBA

    mulTranslateBA effectue une transformation de translation sur ses données actuelles. La translation donnée (sous forme de matrice) est appliquée comme : self=transMatrix*self
    La translation peut être donnée par toute combinaison de paramètres de vecteur valide (voir le constructeur du chapitre ldc.vector).
    Cette fonction n'a pas de valeur de retour.

    getMulTranslateAB

    getMulTranslateAB est identique à mulTranslateAB, sauf qu'elle renvoie une nouvelle matrice avec les données obtenues sans changer ses propres données.

    getMulTranslateBA

    getMulTranslateBA est identique à mulTranslateBA, sauf qu'elle renvoie une nouvelle matrice avec les données obtenues sans changer ses propres données.

    setRotate

    setRotate charge une transformation de rotation dans la matrice, ce qui écrase toutes les données de la matrice.
    La rotation désirée doit être donnée au moyen d'un angle (en degrés) et d'un vecteur pour tourner autour. La partie vecteur peut être donnée par toute combinaison de paramètres de vecteur valide du constructeur.
    Cette fonction n'a pas de valeur de retour.

    mulRotateAB

    mulRotateAB effectue une transformation de rotation sur ses données actuelles. La rotation désirée (sous forme de matrice) est appliqué comme : self=self*rotateMatrix
    La rotation désirée doit être donnée au moyen d'un angle (en degrés) et d'un vecteur pour tourner autour. La partie vecteur peut être donnée par toute combinaison de paramètres de vecteur valide du constructeur.
    Cette fonction n'a pas de valeur de retour.

    mulRotateBA

    mulRotateBA effectue une transformation de rotation sur ses données actuelles. La rotation désirée (sous forme de matrice) est appliqué comme : self=rotateMatrix*self
    La rotation désirée doit être donnée au moyen d'un angle (en degrés) et d'un vecteur pour tourner autour. La partie vecteur peut être donnée par toute combinaison de paramètres de vecteur valide du constructeur.
    Cette fonction n'a pas de valeur de retour.

    getMulRotateAB

    getMulRotateAB est identique à mulRotateAB, sauf qu'elle renvoie une nouvelle matrice avec les données obtenues sans changer ses propres données.

    getMulRotateBA

    getMulRotateBA est identique à mulRotateBA, sauf qu'elle renvoie une nouvelle matrice avec les données obtenues sans changer ses propres données.

    invert

    invert inverse la matrice de sorte qu'elle devient sa propre transformation "undo".
    Cette fonction n'a pas de paramètre supplémentaire et n'a pas de valeur de retour.

    invertOri

    invertOri inverse (transposition 3x3) sa partie orientation sans changer l'information de position.
    Cette fonction n'a pas de paramètre supplémentaire et n'a pas de valeur de retour.

    invertPos

    invertPos inverse le signe des coordonnées de position x, y et z. L'orientation reste inchangée.
    Cette fonction n'a pas de paramètre supplémentaire et n'a pas de valeur de retour.

    getInverted

    getInverted fait la même chose que invert mais renvoie le résultat comme un nouvel objet matrice sans changer ses propres données.

    getInvertedOri

    getInverted fait la même chose que invertOri mais renvoie le résultat d'orientation (donc sans information de position) comme un nouvel objet matrice sans changer ses propres données.

    getInvertedPos

    getInvertedPos fait la même chose que invertPos mais renvoie le résultat de position comme un nouvel objet matrice sans changer ses propres données.

    getTransformed

    getTransformed peut être utilisé pour appliquer les données de la matrice courante à une source quelconque.
    La source doit être donnée comme un vecteur ou une de ses combinaisons de paramètres de vecteur valide du constructeur.
    La fonction renvoie alors les valeurs x, y et z transformées.

    ldc.subfile

    L'objet sous-fichier est utilisé pour accéder à un modèle LDraw simple dans LDCad. Il est appelé sous-fichier car un fichier LDraw peut contenir plusieurs modèles (MPD).
    Un objet sous-fichier peut être obtenu comme résultat d'autres fonctions ldc, mais vous pouvez également en créer un pour une utilisation personnalisée en utilisant son constructeur, comme :
    local mySF=ldc.subfile()
    Après cela, vous pouvez utiliser la variable mySF pour accéder aux données du modèle LDraw associé. Cela se fait à travers une collection de fonctions auxquelles vous avez toujours accès en utilisant la méthode du raccourci lua ":". Exemple :
    local cnt=mySF:getRefCount()

    Constructeur

    Lors de la création d'un sous-fichier en utilisant ldc.subfile() celui-ci pointera par défaut au niveau supérieur du modèle de la session d'édition courante. Mais, vous pouvez aussi le faire pointer vers un autre modèle en fournissant le nom du modèle recherché en tant que paramètre du constructeur.
    Lorsque, par exemple, "minifig.ldr" est donné et est utilisé quelque part dans l'arborescence du modèle de la session courante, il sera lié à l'objet sous-fichier. S'il n'y a pas un tel modèle, l'objet sous-fichier ne sera pas lié.
    Noter qu'un objet sous-fichier non lié provoque une erreur d'exécution dès que vous essayez de l'utiliser comme s'il était lié.
    Il est aussi autorisé de fournir un autre objet sous-fichier comme paramètre du constructeur afin de le copier.

    clone

    Tous les objets ldc sont orientés donnée utilisateur lua, et donc toujours passés par référence. Donc, pour obtenir une copie d'un objet sous-fichier, vous devez utiliser sa fonction clone. Elle renvoie un nouvel objet sous-fichier contenant des données identiques.
    Cette fonction n'a pas de paramètre supplémentaire.

    link

    link est utilisé pour associer l'objet sous-fichier avec un (autre) sous-fichier dans LDCad. Cela se fait en donnant un nom qui est ensuite utilisé pour rechercher dans l'arborescence du modèle de la session courante. Si aucun nom n'est donné, l'objet sera par défaut au niveau supérieur des sous-fichiers de la session courante.
    Si aucune session n'est active, ou si aucun sous-fichier de la session n'a le nom donné, l'objet sera non lié.
    Noter qu'un objet sous-fichier non lié provoque une erreur d'exécution dès que vous essayez de l'utiliser comme s'il était lié.
    Cette fonction renvoie vrai (true) si un lien a été installé avec succès, renvoie faux (false) sinon.

    isLinked

    isLinked renvoie une valeur booléenne indiquant si l'objet est actuellement lié à un sous-fichier ou non.
    Cette fonction n'a pas de paramètre supplémentaire.

    getFileName

    getFileName renvoie le nom de fichier complet du sous-fichier courant lié (le cas échéant).
    Si l'objet n'est pas lié, une chaîne vide sera retournée.
    Cette fonction n'a pas de paramètre supplémentaire.

    getRefCount

    getRefCount renvoie le nombre de lignes de code de type 1 dans le sous-fichier lié.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    getRef

    getRef est utilisé pour obtenir un nouvel objet refLine lié à l'une des lignes de code de type 1 contenu dans le sous-ficher lié.
    Vous pouvez accéder aux lignes par index, en commençant à 1, ou par le nom de la pièce (par exemple : 3001.dat). Si un nom de pièce est donné, la première référence dans le sous-fichier pointant vers elle sera retournée. Si un nom de pièce et un index est donné, la énième référence pointant vers elle sera retournée.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    getGroupCount

    getGroupCount renvoie le nombre de groupes qui ont leur premier niveau dans le sous-fichier lié.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    getGroup

    getGroup est utilisé pour obtenir un nouvel objet groupe lié à l'un des groupes LDCad existant dans le sous-fichier lié.
    Vous pouvez accéder aux groupes par index, en commençant à 1, ou par le nom d'un groupe (par exemple Group 1).
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    ldc.refLine

    L'objet refLine est utilisé pour accéder à une seule ligne de code LDraw de type 1 dans LDCad.
    Un objet refLine est toujours obtenu à partir d'autres fonctions ldc, comme par exemple :
    local myRef=mySF:getRef(1)
    Après cela, vous pouvez utiliser la variable myRef pour manipuler les données de la ligne de code LDraw de type 1 associée. Cela se fait à travers une collection de fonctions auxquelles vous avez toujours accès en utilisant la méthode du raccourci lua ":". Exemple :
    myRef:setColor(15)

    Constructeur

    Le constructeur refLine n'a pas de paramètre et l'objet ne sera donc pas lié à une ligne de code LDraw de type 1 réelle.
    Notez qu'un objet refLine non lié provoque une erreur d'exécution dès que vous essayez de l'utiliser comme s'il était lié.
    Il est également autorisé de fournir un autre objet refLine comme paramètre du constructeur afin de le copier.

    clone

    Tous les objets ldc sont orientés données utilisateur lua, et donc et donc toujours passés par référence. Donc, pour obtenir une copie d'un objet refLine vous devez utiliser sa fonction clone. Elle renvoie un nouvel objet refLine contenant des données identiques.
    Cette fonction n'a pas de paramètre supplémentaire.

    isLinked

    isLinked renvoie une valeur booléenne indiquant si l'objet est actuellement lié avec une refLine ou non.
    Cette fonction n'a pas de paramètre supplémentaire.

    getOri

    getOri renvoie un nouvel objet matrice contenant l'orientation actuelle de la refLine liée. Notez que l'orientation est relative au niveau où est le parent du sous-fichier.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    getPos

    getPos renvoie un nouveau vecteur contenant la position actuelle dans la ligne de code de type 1 liée. Notez que l'information donnée est relative au niveau où est le parent du sous-fichier.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    getPosOri

    getPosOri renvoie un nouvel objet matrice contenant la matrice de placement complète de la ligne de code de type 1 liée. Notez que l'information donnée est relative au niveau où est le parent du sous-fichier.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    setOri

    setOri est utilisé pour changer l'orientation de la ligne de code de type 1 liée, sans changer sa position. Vous pouvez utiliser l'une des combinaisons de paramètres du constructeur de matrice d'orientation, afin de fournir le nouveau placement. Pour plus d'informations sur les paramètres, voir la fonction setOri de l'objet matrice elle-même.
    Notez que l'information donnée est relative au niveau où est le parent du sous-fichier.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    setPos

    setPos est utilisé pour changer la position de la ligne de code de type 1 liée, sans changer son orientation. La nouvelle position peut être fournie en utilisant l'une des combinaisons de paramètres du constructeur de vecteur valide.
    Notez que l'information donnée est relative au niveau où est le parent du sous-fichier.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    setPosOri

    setPosOri est utilisé pour changer la matrice de placement LDraw complète de la ligne de code de type 1 liée. Vous pouvez utiliser l'une des combinaisons de paramètres du constructeur de matrice valide, afin de fournir le nouveau placement.
    Notez que l'information donnée est relative au niveau où est le parent refLine du sous-fichier.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    getVisible

    getVisible renvoie une valeur booléenne indiquant si la ligne de code de type 1 liée, est actuellement visible dans l'éditeur LDCad.
    Notez que l'état visible est seulement pertinent pendant la lecture d'animations.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    setVisible

    setVisible est utilisé pour changer l'état visible de la ligne de code de type 1 liée dans l'éditeur LDCad. Cela est fait en fournissant un paramètre booléen.
    Notez que l'état visible est seulement pertinent pendant la lecture d'animations.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    getColor

    getColor renvoie le code LDraw de la couleur actuellement utilisée par la ligne de code de type 1 liée.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    setColor

    setColor est utilisé pour changer la couleur de la ligne de code de type 1 liée. La couleur doit être donnée en utilisant son code couleur LDraw.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    getSubfile

    getSubfile renvoie un nouvel objet sous-fichier lié au sous-fichier auquel refLine appartient.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    ldc.group

    L'objet group est utilisé pour accéder au contenu LDraw d'un groupe LDCad. Les objets du groupe peuvent être obtenus à partir d'autres fonctions ldc, ou créés de façon autonome en utilisant leur constructeur, comme par exemple :
    local myGrp=ldc.group()
    La variable myGrp peut alors être utilisé pour accéder au contenu d'un groupe lié. Cela se fait à travers une collection de fonctions auxquelles vous avez toujours accès en utilisant la méthode du raccourci lua ":". Exemple :
    myGrp:setColor(15)

    Constructeur

    Lors de la création d'un objet groupe en utilisant ldc.group() il sera par défaut dans un état non lié. Mais, vous pouvez également pointer vers quelque chose d'utile en fournissant le nom du groupe recherché en tant que paramètre du constructeur.
    Lorsque par exemple "Group 1" est utilisé, le sous-fichier principal de la session courante est recherché pour le groupe donné. Vous pouvez éventuellement demander une recherche récursive pour le groupe en fournissant true (vrai) comme second paramètre.
    S'il est trouvé il sera lié et vous pouvez commencer à travailler avec ce groupe, sinon l'état sera non lié. Notez qu'un objet groupe non lié provoque une erreur d'exécution dès que vous essayez de l'utiliser comme s'il était lié.
    Il est aussi autorisé de fournir un autre objet groupe comme paramètre au constructeur afin de le copier.

    clone

    Tous les objets ldc sont orientés données utilisateur lua, et donc toujours passés par référence. Donc, pour obtenir une copie d'un objet groupe vous devez utiliser sa fonction clone. Elle renvoie un nouvel objet groupe contenant des données identiques.
    Cette fonction n'a pas de paramètre supplémentaire.

    link

    link est utilisé pour associer l'objet groupe avec un (autre) groupe dans LDCad, en utilisant un nom comme premier paramètre.
    En option, un second paramètre booléen peut être utilisé pour indiquer si la fonction doit faire une recherche récursive dans l'arborescence du modèle de la session courante si vrai (true), ou juste dans le sous-fichier principal si faux (false) par défaut.
    Si aucun groupe ne porte le nom soumis, l'objet sera non lié.
    Cette fonction renvoie vrai (true) si le lien a été installé avec succès, renvoie faux (false) sinon.

    isLinked

    isLinked renvoie une valeur booléenne indiquant si l'objet est actuellement lié à un groupe ou non.
    Cette fonction n'a pas de paramètre supplémentaire.

    getGroupName

    getGroupName renvoie le nom du groupe lié. S'il n'y a pas de groupe actuellement lié, elle retourne une chaîne vide.
    Cette fonction n'a pas de paramètre supplémentaire.

    getRefCount

    getRefCount renvoie le nombre de lignes de code de type 1 dans le groupe LDCad lié. Notez que ce nombre peut ne pas être égal au nombre total d'éléments dans le groupe car un groupe ne contient pas exclusivement des lignes de code de type 1.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    getRef

    getRef est utilisé pour obtenir un nouvel objet refLine lié à l'une des lignes de code de type 1 que le groupe LDCad lié contient. Si un nom de pièce (partName) est donné à la place, la fonction renvoie la première référence pointant vers elle. Si un nom de pièce et un index est donné, la fonction renvoie le nième référence pointant vers elle.
    Vous pouvez accéder aux lignes par index, en commençant à 1, ou par nom de pièce (exemple 3001.dat). Si un nom de pièce est donné la première référence dans le groupe pointant vers elle est retourné.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    getOri

    getOri renvoie un nouvel objet matrice contenant l'orientation actuelle du groupe LDCad lié. Notez que l'orientation est relative au niveau de l'élément principal du groupe lié.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    getPos

    getPos renvoie un nouveau vecteur contenant la position du point de centre actuel du groupe LDCad lié.
    Notez que la position est relative au niveau de l'élément principal du groupe lié. Elle indique également la position du centre des groupes et non la véritable position des éléments principaux.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    getPosOri

    getPosOri renvoie un nouvel objet matrice contenant la matrice de placement complète du groupe LDCad lié. Notez que ce placement est relatif au niveau où est l'élément principal du groupe lié. Sa part position est prise au point de centre actuel du groupe LDCad lié.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de paramètre supplémentaire.

    setOri

    setOri est utilisé pour changer l'orientation du groupe LDCad lié, sans changer sa position. Vous pouvez utiliser l'une des combinaisons de paramètres du constructeur de matrice d'orientation, afin de fournir le nouveau placement. Pour plus d'informations sur les paramètres, voir la fonction setOri de l'objet matrice elle-même. Notez que l'information donnée est relative au niveau de l'élément principal du groupe lié.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    setPos

    setPos est utilisé pour changer la position de la ligne de code de type 1 lié, sans changer son orientation. La nouvelle position peut être fournie en utilisant l'une des combinaisons de paramètres du constructeur de vecteur valide.
    Notez que l'information donnée est relative au niveau de l'élément principal du groupe lié. Elle s'applique également à la position du centre des groupes, et non à la vraie position de l'élément principal.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    setPosOri

    setPosOri est utilisé pour changer la matrice de placement LDraw complète du groupe LDCad lié. Vous pouvez utiliser l'une des combinaisons de paramètres du constructeur de matrice valide, afin de fournir le nouveau placement.
    Notez que l'information donnée est relative au niveau de l'élément principal du groupe lié.
    Elle s'applique également à la position du centre des groupes, et non à la vraie position de l'élément principal.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    setVisible

    setVisible affiche ou cache tous les éléments du groupe lié à l'aide d'un paramètre booléen.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    setColor

    setColor applique le code couleur LDraw donné à tous les éléments du groupe lié.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.
    Cette fonction n'a pas de valeur de retour.

    ldc.animation

    L'objet animation est utilisé pour accéder et/ou créer une animation dans LDCad. Il est presque toujours créé en utilisant son constructeur, comme par exemple :
    local myAni=ldc.animation()
    La variable myAni peut alors être utilisée pour manipuler une animation. Cela se fait à travers une collection de fonctions auxquelles vous avez toujours accès en utilisant la méthode du raccourci lua ":". Exemple :
    myAni:register('kick ass movie')

    Constructeur

    Lors de la création d'un objet animation en utilisant ldc.animation() il sera par défaut à son état non lié. Mais vous pouvez également pointer vers une animation existante ou une nouvelle animation, en une seule fois, en fournissant le nom de l'animation voulue comme paramètre du constructeur.
    Lorsque le nom donné appartient à une animation existante, dans la session d'édition courante, l'objet animation sera lié. S'il n'y a pas un tel objet, il sera ajouté puis lié.
    Notez qu'un objet animation non lié provoque une erreur d'exécution dès que vous essayez de l'utiliser comme s'il était lié.
    Il est aussi autorisé de fournir un autre objet animation comme paramètre au constructeur afin de le copier.

    clone

    Tous les objets ldc sont orientés données utilisateur lua, et donc toujours passés par référence. Donc, pour obtenir une copie d'un objet animation vous devez utiliser sa fonction clone. Elle renvoie un nouvel objet animation contenant des données identiques.
    Cette fonction n'a pas de paramètre supplémentaire.

    register

    register est utilisé pour créer (ou lier) une (différente) animation dans la session d'édition courante.
    Cela est fait en fournissant un nom comme paramètre. Si une animation est trouvé avec ce nom, elle est liée avec, sinon elle sera créé puis liée.
    Cette fonction n'a pas de valeur de retour.

    link

    link est utilisé pour associer un objet animation avec un (autre) objet animation, dans la session d'édition courante.
    Cela est fait en fournissant un nom comme paramètre. Si un objet animation est trouvé avec ce nom il est lié, sinon l'objet retourne à son état non lié.
    Cette fonction renvoie un indicateur booléen, indiquant si le lien a été installé ou non.

    isLinked

    isLinked renvoie un indicateur booléen si l'objet est actuellement lié avec une animation ou non.
    Cette fonction n'a pas de paramètre supplémentaire.

    getName

    getName renvoie le nom de l'animation courante liée. Si rien n'est actuellement lié, une chaine vide est renvoyée.
    Cette fonction n'a pas de paramètre supplémentaire.

    setFPS

    setFPS est utilisé pour définir le nombre d'images par seconde de l'animation liée en lecture.
    Lorsque cette fonction n'est jamais appelée, l'animation prend par défaut la valeur interne par défaut de LDCad. Changez seulement le fps (frames per second = images par seconde) par script si vous souhaitez appliquer un taux statique pour une raison quelconque.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    getFPS

    getFPS renvoie le nombre actuel d'images par seconde qu'utilise l'animation liée pendant la lecture.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    getFrameNr

    getFrameNr renvoie le numéro de l'image de l'animation liée actuellement active. Notez que contrairement au comportement normal de lua, la première image de l'animation est numéroté zéro, cela est dû principalement à une raison mathématique.
    Notez également que le numéro ne doit pas être à moins de 0..fps*length-1 car cela représente des images supplémentaires résultant de choses comme un mouvement lent.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    getFrameCount

    getFrameCount renvoie le nombre d'images actuellement actives de l'animation liée.
    Notez que le nombre n'est pas forcement égal à fps*length car il comptabilise des images supplémentaires résultant de choses comme un mouvement lent.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    getFrameTime

    getFrameTime renvoie le temps en secondes de l'image courante de l'animation liée représente. C'est zéro pour la première image et (length-1/fps) pour la dernière.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    setLength

    setLength est utilisé pour configurer le temps de lecture de l'animation liée. Vous devez fournir la longueur souhaitée en secondes.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    getLength

    getLength renvoie le temps de lecture en secondes de l'animation liée.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    setEvent

    setEvent est utilisé pour contrôler quelle fonction de script lua est appelée quand un certain évènement d'animation se produit. Cela se fait en fournissant deux chaines de caractères comme paramètres.
    Le premier paramètre identifie l'évènement que vous voulez souscrire. Les évènements disponibles sont :

    Le second paramètre est le nom (sans les "()") de la fonction lua dans votre script que vous voulez exécuter lorsque l'évènement donné se produit.
    Notez que les évènements sont liés au niveau LDCad, non seulement pour l'objet de l'animation sur lequel vous travaillez.
    Si l'objet n'est pas lié, l'appel de cette fonction provoque une erreur et termine l'exécution du script.

    ldc.session

    L'objet session est utilisé pour accéder à une session d'édition dans LDCad. Il est toujours créé en utilisant son constructeur, comme par exemple :
    local mySes=ldc.session()
    La variable mySes peut alors être utilisée pour accéder à des informations sur une session liée. Cela se fait à travers une collection de fonctions auxquelles vous avez toujours accès en utilisant la méthode du raccourci lua ":". Exemple :
    print(mySes:getName())

    Constructeur

    Lors de la création d'un objet session en utilisant ldc.session() il sera par défaut à la session d'édition courante, s'il n'y en a pas il sera à son état non lié.
    Notez qu'un objet session non lié provoque une erreur d'exécution dès que vous essayez de l'utiliser comme s'il était lié.
    Il est aussi autorisé de fournir un autre objet session comme paramètre au constructeur afin de le copier.

    clone

    Tous les objets ldc sont orientés données utilisateur lua, et donc toujours passés par référence. Donc, pour obtenir une copie d'un objet session vous devez utiliser sa fonction clone. Elle renvoie un nouvel objet session contenant des données identiques.
    Cette fonction n'a pas de paramètre supplémentaire.

    isLinked

    isLinked renvoie un indicateur booléen si l'objet est actuellement lié avec une session ou non.
    Cette fonction n'a pas de paramètre supplémentaire.

    getName

    getName renvoie le nom de la session liée. Le nom donné est identique à celui affiché en haut à droite du panneau édition LDCad. Si aucune session n'est actuellement liée, une chaine vide est renvoyée.
    Cette fonction n'a pas de paramètre supplémentaire.

    Exemple de script

    L'inconvénient de tout cela est que vous devez investir du temps et des efforts pour commencer à utiliser les scripts. Comme la meilleure façon d'apprendre quelque chose est de passer par des exemples, voici, fournis par l'auteur de LDCad, quelques exemples essentiels de taches courantes que vous pouvez faire à l'aide de scripts dans LDCad.

    La principale raison de l'ajout des scripts à LDCad était son utilisation combinée avec la création d'animations. La plupart des fonctions disponibles visent donc à cet objectif.

    Toute animation dans LDCad doit être créée par le biais d'un script afin d'être accessible dans l'interface graphique. A cette fin, vous pouvez lier un fichier de script lua à votre modèle en utilisant la boite de dialogue de son entête ou juste par glisser-poser du fichier .lua dans LDCad lorsque son modèle est le modèle courant.

    Ci-dessous le minimum de choses à mettre dans un script pour rendre accessible votre modèle au mode animation.

    function register()
      local ani=ldc.animation('test animation')
      ani:setLength(10)
      ani:setEvent('frame', 'onFrame')
    end
    
    function onFrame()
      local ani=ldc.animation.getCurrent()
      --do per frame animation stuff
    end
    
    register()
    

    Le script ci-dessus crée et enregistre l'animation "test animation", et la configure pour avoir un temps de lecture de 10 secondes. Il attribue ensuite la fonction "onFrame" pour gérer la dépendance des changements à chaque image.

    En utilisant ce script, avec n'importe quel modèle courant dans LDCad, cela rendra actif l'onglet "animation" dans le panneau session, qui à son tour listera "test animation" comme animation active courante (vous pouvez écrire plusieurs animations dans le même script).

    Lorsque le mode animation joue l'animation, elle appelle la fonction "onFrame" de votre script lua à chaque image de l'animation. Il est de la teneur de cette fonction de gérer la position, l'orientation, la couleur, le statut afficher/masquer de toutes les choses que vous voulez faire au sein de votre film.

    Le script actuel ne fait donc absolument rien. Il faut donc modifier la fonction "onFrame" pour faire tourner en continu la première brique dans le modèle autour de son axe Y, tout en conservant sa position globale en valeur absolue pendant la lecture.

    function onFrame()
      local ani=ldc.animation.getCurrent()
      local angle=ani:getFrameNr()/ani:getFrameCnt()*360
      local ref=ldc.subfile():getRef(1)
      local ori=ldc.matrix()
      ori:setRotate(angle, 0, 1, 0)
      ref:setOri(ori)
    end
    

    La fonction calcule maintenant l'angle de rotation actuel sur la base du "frameNr" (une rotation par longueur de lecture). Il construit ensuite une matrice de rotation en utilisant l'angle, et l'applique à la ligne de référence LDraw en utilisant seulement sa partie orientation.

    Noter que la brique sera en rotation autour de son axe Y dans sa propre orientation neutre. C'est pourquoi la matrice de rotation est appliquée en valeur absolue.

    J'espère que l'exemple précédent vous permet de clarifier les bases. Maintenant, pour vraiment maîtriser les scripts d'animation il est bon d'essayer vous-même les API et d'analyser les modèles livrés en exemple avec LDCad, qui possèdent des scripts d'animation (par exemple 5510.mpd, 5580.mpd ou 4248.mpd). J'ai essayé d'ajouter autant que possible des commentaires utiles.

    Nota : Les modèles possédant un script apparaissent dans la liste des fichiers suivis de {scripted}.

    Fonctions du module aniTools

    module.aniElm

    module.stateInfo

    module.actionEnvInfo

    module.genActionDynLevel

    module.joint

    module.actor

    module.sequence

    module.story

    module.numberDepStateInfo

    module.seqRefAction

    module.moveToAction

    module.angleMoveToAction

    module.diffAction

    module.accelAction

    module.speedAction

    module.freqAction

    module.binFreqAction

    module.depAction

    module.followAction

    module.funcDepAction

    module.ratioDepAction

    module.gearDepAction

    module.stateChangeAction

    module.stateInfoDepAction

    module.moveJoint

    module.mulAxisJoint

    module.cameraActor

    module.outputCameraActor

    module.lightActor

    Fonctions du module genTools

    Module appelé par aniTools.

    module.IF

    module.paramValue

    module.round

    module.posAngleMod

    module.negAngleMod

    module.numToStr

    module.tableArrayCount

    module.tableArrayFind

    module.sineWave

    module.triangleAngle

    module.trianglePlacementAngles

     

    Animation

    Depuis sa version 1.4 LDCad utilise les scripts, utilisant le langage lua, pour faire des trucs dynamiques amusants avec vos modèles LDraw.

    Chargement d'une animation

    Un script d'une animation peut se charger lorsqu'un modèle est actif en ouvrant son entête avec "Session / Edit header", onglet "Scripting", puis en sélectionnant le script sur le disque avec le bouton [ .. ], puis valider avec le bouton "OK".

    On peut charger directement le script d'une animation par un glisser-coller du fichier de l'explorateur Windows à la fenêtre du programme.

    Nota : En raison d'un bug, si l'on veut changer de fichier d'animation avec le même modèle il faut au préalable recharger ce modèle avec F5.

    Le script peut se charger automatiquement avec le modèle, si celui-ci contient une ligne de déclaration : 0 !LDCAD SCRIPT [source=nom_script.lua], ou nom_script.lua est le nom du fichier script.

    Activation du mode animation

    Activer le mode animation dans le panneau session, en cliquant sur l'onglet "Animation". Cela ouvre le panneau de gestion de l'animation et active l'animation par défaut du script.

    S'il n'y a pas de script de chargé, le mode animation est inactif.

    Pour sortir du mode animation, cliquer sur l'onglet "Normal" du panneau session.

    Sélection d'une animation

    Sélectionner une animation d'un fichier multi-script avec le menu "Session / Animation / Select animation". Ce menu apparait également dans le panneau session, onglet "Animation", en cliquant sur "Current: "xxx". Si "none" s'affiche c'est que le modèle ne possède pas d'animation.

    Utilisation d'une animation

    Une fois l'animation chargée et sélectionnée, un panneau de gestion de l'animation apparait à l'écran. Voir : Panneau animation pour son utilisation.

    Edition d'une animation

    Pour éditer l'animation active, aller dans "Session / Scripting / Open script".

    Nota : Pour que le fichier lua s'ouvre, un éditeur doit être assigné à ce type de fichier dans l'explorateur de Windows. Voir le chapitre : Installation.

    Création d'une animation

    Pour créer une animation ...

    Animation multiple

    Il est possible de mettre plusieurs animations dans un seul script. Pour cela utiliser un unique "frame / start function name" et enregistrer "multiple animation objects" dans la "register function".

    function register()
      local ani=ldc.animation('Animation 1')
      ani:setLength(20)
      ani:setEvent('frame', 'onAni1Frame') 
     
      ani:register('Animation 2')
      ani:setLength(15)
      ani:setEvent('frame', 'onAni2Frame')
    end
    function onAni1Frame()
     
      local ani=ldc.animation.getCurrent()
      --animation 1 frame stuff 
    end
    function onAni2Frame()
      local ani=ldc.animation.getCurrent()
      --animation 2 frame stuff
    end
    register()
    

    Exemples d'animation

    En premier voir les tutoriels de Roland Melkert (en plein écran) :

    Les exemples qui suivent sont de Philo : Animation fun with LDCad.
    Les scripts sont à télécharger ici : LDCad_animation_scripts.zip (mono-script), model-build-animations.zip (multi-script) et brick_drop_build_rotate.zip (mono-script).
    Le modèle LDraw de Faramond Florent (Makou) avec ses sous-modèles décomposés : 10018_-_Darth_Maul-flat.mpd, ou Non : 10018_-_Darth_Maul-flat-sub.mpd.

    Marche à suivre :

    Nota 1 : Le script peut être chargé directement par un glisser-coller du fichier de l'explorateur Windows à la fenêtre du programme.

    Nota 2 : En raison d'un bug (v1.5), si l'on veut changer de script avec le même modèle il faut au préalable recharger ce modèle avec F5.

    Construction de bas en haut

    Modèle : 10018 - Darth Maul-flat.mpd
    Script : bottom up build.lua (bottom-up)
    ou Multi-script : model-build-animations.lua (Bottom-up Build).

    Construction et dissolution dans l'ordre des pièces

    Modèle : 10018 - Darth Maul-flat.mpd
    Script : part order build.lua (build)
    Script : part order dissolve.lua (dissolve)
    ou Multi-script : model-build-animations.lua (Build ou Dissolve).

    Attirance magnétique (implosion)

    Modèle : 10018 - Darth Maul-flat.mpd
    Script : magnet build.lua (magnet build)
    ou Multi-script : model-build-animations.lua (Magnet Build).

    Explosion

    Modèle : 10018 - Darth Maul-flat.mpd
    Script : explode.lua (explode)
    ou Multi-script : model-build-animations.lua (Explode).

    Construction par couche

    Modèle : 10018 - Darth Maul-flat.mpd
    Script : brick drop build.lua (brick drop build)
    ou Multi-script : model-build-animations.lua (Layered Brick Drop Build).

    Construction par couche avec rotation

    Modèle : 10018 - Darth Maul-flat-sub.mpd
    Script : brick drop build rotate (brick drop build+rotate).

    Exportation d'images

    Cadre des images

    Le cadre des images s'affiche avec le menu "View / Editing views / Export" ou Alt+E.

    Avec "View / Editing views / Export / Export frame size" il est possible de changer la taille du cadre :

    donner la taille en pixels comme 1920x1080, ou en ratio largeur/hauteur comme 1.85 ou 16:9.

    Exportation d'image PNG

    Pour exporter une image PNG utiliser le menu : "View / Editing views / Export / OpenGL view export".

    Paramétrage de l'image :

    Exportation d'image d'animation PNG

    Pour exporter les images PNG d'une animation il faut être en mode animation et utiliser le menu : "Session / Animation / OpenGL animation export" ou "View / Editing views / Export / OpenGL animation export".

    Paramétrage des images :

    Exemple d'une des 125 images générées sur le modèle 5580 et la macro "Explode" :

    Les fichiers se trouvent par défaut dans : C:\Users\tchang\AppData\Roaming\LDCad\examples\5580-glExport (dans cet exemple).

    Nota : Les images utilisent le point de vue et les pièces affichées suivant l'étape courante.

    Les images peuvent être ensuite assemblées dans une vidéo animée à l'aide, par exemple, de Movie Maker de Windows.

    Exportation pour rendu POV-Ray

    Pour exporter au format de rendu POV-Ray le modèle tel à l'écran, utiliser le menu : "View / Editing views / Export / POV-Ray view export".

    Paramétrage du fichier POV, Onglet "Main options" :

    Onglet "POV Options" :

    Options :

    Prefixes :

    Onglet "POV Include files" :

    Onglet "INI Options" :

    Exemple de l'image générée par POV-Ray à partir du fichier 5580.pov généré par LDCad :

    Le fichier se trouve par défaut dans : C:\Users\tchang\AppData\Roaming\LDCad\examples\5580-povExport (dans cet exemple).

    Exportation d'animation pour rendu POV-Ray

    Pour exporter au format de rendu POV-Ray une animation, utiliser le menu : "Session / Animation / POV-Ray animation export" ou "View / Editing views / Export / POV-Ray animation export".

    Le paramétrage du fichier POV est identique au chapitre précédent.

     

    Tutoriels

     

    Tutoriel : Edition de base

    Dans ce chapitre, je vais vous guider à travers les bases de l'édition de modèle dans LDCad. Donc, après avoir lu ce chapitre vous devriez être capable de créer vos propres modèles LDraw basiques, comme une maison simple ou une petite voiture. Cependant, il est préférable de lire au préalable le chapitre : Description de l'interface utilisateur et en particulier de connaître un peu l'utilisation des panneaux pièces et couleurs.

    Ouvrir un nouveau modèle

    Le plus simple est au démarrage de sélectionner "Start a new model" dans le panneau "Getting started", mais vous pouvez à tout moment ouvrir un nouveau modèle avec le menu "File / New model" (par défaut en haut à gauche de l'écran).

    Juste après avoir démarré un nouveau modèle, une boite de dialogue "Edit header" s'ouvre. Elle est utilisée pour entrer quelques informations sur le modèle. A ce stade seul le champ "Author" a un intérêt réel, donc taper votre nom complet dans ce champ. Ensuite il suffit de fermer la boite de dialogue en appuyant sur le bouton "Accept".

    La première fois que vous fermez cette boite de dialogue, un message apparaît demandant si le nom et le pseudo doivent être utilisés par défaut pour tous les futurs modèles comme "Author" et "User". Comme c'est généralement le cas, cliquez sur "Yes".

    Après tout cela vous devez avoir une zone d'édition graphique vide dans laquelle vous pourrez commencer à construire quelque chose de révolutionnaire. L'écran doit ressembler à ceci :

    Aux quatre coins du panneau d'édition graphique, vous trouverez des éléments qui contrôlent certains aspects du processus de construction :

    Le panneau point de vue et le panneau étape sont discutés en détail ci-dessous. Le panneau session ne sera pas discuté ici car il n'est pas vraiment nécessaire pour travailler sur un modèle simple comme celui sur lequel nous allons travailler dans ce chapitre. L'icône I s'explique facilement (voir le chapitre : Panneau information pour plus d'explications). N'hésitez pas à déplacer la souris de temps en temps pour voir combien de briques vous avez déjà utilisées, etc.

    Préparation des panneaux couleurs et pièces

    Lorsque vous travaillez sur un nouveau modèle LDraw, il est conseillé en premier de configurer les panneaux couleurs et pièces d'une manière pratique. (voir les chapitres : Panneau couleurs et Panneau pièces pour plus d'explications).

    Nous allons par exemple fixer le premier onglet du panneau couleurs sur "Solid plastic" (plastique opaque) et le second sur "Transparent" (plastique transparent) car ces groupes de couleurs sont le plus souvent utilisés. Eventuellement (selon le type de modèle) vous pouvez également définir les troisième et quatrième onglets sur "Metallic" (métallique) et "Rubber" (caoutchouc).

    Après avoir fait cela une fois, vous n'aurez probablement plus jamais à le refaire. En effet, cette configuration couvre 99% des besoins de modélisation normale et LDCad mémorise la configuration d'une session à l'autre.

    Pour le panneau pièces c'est une autre histoire. Choisir les groupes de pièces pour les six onglets, dépendra grandement du type de modèle Lego (par exemple Technic, City, Creator, ...) que vous allez vouloir créer. Dans notre exemple, nous allons travailler sur une petite maison.

    Donc, mettons l'onglet 1 sur les briques de base ("Plain bricks"), accessible en cliquant sur la séquence des cellules ci-dessous, à partir de la racine du panneau ("Main group").

     =>   => 

    L'onglet 2 serait probablement le plus utile pour afficher les pièces plates, donc réglons le sur les pièces plates normales ("Normal plates"), accessible par :

     =>   => 

    L'onglet 3 pourrait être utile en pointant sur les briques inclinées à 45° ("Sloped 45"), accessible par :

     =>   => 

    Et comme une maison a besoin de fenêtres, nous allons pointer l'onglet 4 sur le groupe des fenêtres ("Windows"), accessible par :

     =>   => 

    Ensuite, nous pourrions pointer l'onglet 5 sur le groupe des pièces triées par fonction ("Sorted") pour naviguer plus loin lorsque des pièces non listées dans les onglets précédents sont nécessaires.

    Enfin, nous plaçons l'onglet 6 sur le groupe spécial recherche ("Search"), accessible en cliquant sur la cellule ci-dessous, à partir de la racine du panneau. Cela est nécessaire lorsque vous essayez de trouver une pièce qui n'est pas souvent utilisée, sans avoir à faire le tour de l'arborescence des pièces. Pour rechercher une pièce, tapez un mot-clef dans le filtre du groupe de recherche.

    icon

    Avec les panneaux configurés à votre goût, il est temps de commencer à construire quelque chose.

    Base du placement des briques

    Remarque, bien que LDCad ait un mode attirance des briques entre-elles, je voudrais tout d'abord utiliser le mode grille de positionnement, car il est important de comprendre la notion de grille pour profiter ensuite pleinement du mode attirance.

    Construire un modèle virtuel LDraw est sensiblement la même chose que construire un vrai modèle LEGO, il suffit d'ajouter une brique à la fois. La seule différence est que votre stock de briques est illimité dans une multitude de couleurs.

    Afin d'ajouter une brique dans le modèle, vous sélectionnez tout d'abord la couleur que vous voulez utiliser dans le panneau couleurs. Par exemple sélectionner "Red" (rouge) afin que nous puissions commencer à construire un mur pour notre petite maison. Après la couleur fixée, vous allez chercher la brique que vous voulez ajouter au modèle dans le panneau pièces.

    Localisez la pièce "Brick 1x4" dans le panneau pour notre mur. Le premier onglet activé, nous devons nous trouver sur "Plain bricks", alors faisons défiler les pièces vers le bas avec la molette de la souris, jusqu'à ce que nous apercevions la brique 1x4. Cliquer alors sur cette brique et sans relâcher le bouton gauche de la souris, la déplacer dans la zone d'édition graphique.

    Lorsque la brique entre dans la zone graphique vous devez voir quelque chose comme cela :

    La grille visualise le plan d'édition ou placement actif et l'intersection des lignes bleu et rouge plus longues représente l'origine de ce plan. Le petit panneau à côté de la pièce affiche sa position dans l'espace 3D. Ne nous occupons pas pour l'instant des valeurs affichées et plaçons la pièce n'importe où en relâchant le bouton de la souris.

    Nota : Je suppose que vous n'avez pas fait pivoter la scène avant le placement. Si vous l'avez fait, vous pourriez voir la grille orientée d'une autre façon (verticalement par exemple au lieu d'être à plat). Si c'est le cas ne vous inquiétez pas, posez la brique n'importe où vers le centre, puis appuyez sur la touche "T" pour remettre la grille par défaut.

    Une fois le bouton de la souris relâché l'affichage change à nouveau. La grille aura disparu et une sorte de parapluie sera épinglé sur le dessus de la brique, comme sur l'image ci-dessous.

    Il s'agit de l'outil de manipulation principal d'une sélection appelé "pin" en anglais et "épingle" ou "broche" en français. Il sera toujours perpendiculaire au plan d'édition actif car il est principalement utilisé pour déplacer et/ou faire tourner les briques sélectionnées après leur placement initial par rapport à celui-ci. Par défaut l'épingle sera en mode rotation, indiqué par le gros disque sur le dessus.

    L'approche orientée plan d'édition utilisée dans LDCad limitera toujours l'interaction à deux des trois directions de construction dans l'espace virtuel. En conséquence, votre point de vue sur le modèle est divisée en trois plans de séparations, à savoir : "Gauche/Droite (ou Côtés)", "Haut/Bas" et "Avant/Arrière". Ce sont donc les orientations possibles du plan d'édition. Le mode actif dépend principalement de la rotation de la scène (caméra). Cette fonctionnalité (optionnelle) essaie de deviner la direction dans laquelle vous voulez ajouter quelque chose et vous le configure automatiquement.

    Si vous avez besoin d'un certain point de vue sur le modèle en utilisant un autre plan d'édition que celui suggéré, vous pouvez le faire en basculant manuellement vers l'un des autres modes. Ceci est fait en utilisant le panneau point de vue dans le coin inférieur gauche (je vais entrer en détail ci-dessous) ou en utilisant les trois raccourcis clavier qui leur sont assignés. Ce sont: "T" (Haut/Bas), "S" (côtés) et "F" (Avant/Arrière). Notez que le curseur de la souris doit être dans la zone d'édition pour que les raccourcis clavier répondent.

    Avant de poursuivre, discutons du système de caméra de LDCad, car il est très important de bien voir votre modèle pendant le processus de construction.

    Le système de caméra

    LDCad utilise un système de caméra orienté boule de commande ("trackball") par défaut. Cela signifie que vous pouvez faire pivoter la vue librement dans toutes les directions possibles sans soudainement se comporter différemment ou à se verrouiller.

    La façon la plus simple de comprendre l'approche trackball consiste à imaginer une grande boule de plage coincée dans le rectangle de la zone d'édition. Pendant que vous le tournez, vous le saisissez quelque part sur sa courbe et, en le faisant glisser, elle tourne dans la direction où vous déplacez la souris. La position de départ des rotations est donc très importante lors de l'utilisation de ce système de caméra.

    Pour voir de quoi je parle, cliquez n'importe où sur l'arrière-plan de la zone d'édition, avec le bouton gauche (ou droit) de la souris. Puis, tout en maintenant le bouton enfoncé, déplacez légèrement la souris avant de la relâcher. Pour ce faire, en utilisant différentes positions de départ pour voir la façon dont il affecte la direction de rotation.

    Certaines personnes n'arrivent pas à se familiariser avec ce type de système de caméra ou ne l'aiment tout simplement pas. Pour cette raison, il existe un autre mode de caméra disponible dans LDCad. C'est ce qu'on appelle le mode de rotation suivant les axes écran ("Spin") qui limitera la rotation comme le mouvement d'une platine. Ce mode peut être réglé en utilisant le panneau point de vue comme indiqué ci-dessous. Cependant, je vous conseille vivement de passer du temps à utiliser le mode "trackball" d'abord, car il est très puissant une fois que vous y êtes habitué.

    La rotation seule ne suffit pas lorsque vous travaillez sur un modèle, vous devez parfois vous déplacer un peu. Cela peut être fait en maintenant la touche Maj enfoncée tout en maintenant le bouton gauche (ou droit) de la souris enfoncé. Pendant ce temps, le mouvement de la souris déplace la caméra vers la Gauche/Droite/Haut/Bas par rapport à l'orientation actuelle de l'écran. Vous pouvez également déplacer la caméra par rapport au plan d'édition en cours, en appuyant également sur la touche Ctrl. Souvent, vous aurez besoin d'un décalage pour vous concentrer sur la sélection actuelle, cela peut être fait en un seul mouvement en appuyant sur la touche de raccourci "C" (Centre).

    La rotation ou le déplacement peuvent être effectués à l'aide du bouton gauche ou droit de la souris. La différence : Avec le bouton droit le modèle est ignoré lors du clic, et avec le bouton gauche on sélectionnera des pièces du modèle si l'on ne clique pas sur l'arrière plan.

    Le dernier contrôle de la caméra est le zoom, qui déterminera la partie du modèle entrant dans la vue à un moment donné. Le contrôle du zoom est effectué en faisant tourner la molette de la souris. Les mouvements vers l'avant effectueront un zoom avant et vers l'arrière effectueront un zoom arrière. Vous pouvez inverser cela si nécessaire en utilisant le menu "Prefs / Editing / Inverse mouse wheel". Maintenez la touche Ctrl enfoncée pendant le zoom pour utiliser des pas plus petits. Et pour adapter le modèle entier à l'intérieur de la vue directement, vous pouvez également appuyer sur le raccourci "Z" (Zoom).

    Pendant le zoom, vous remarquerez également que l'emplacement de la souris influence les choses, car par défaut, tout ce qui se trouve sous la souris restera sous la souris, peu importe où vous la pointez. Ceci est appelé "Zoom au curseur" pour donner à l'utilisateur plus de contrôle sur le zoom, vous pouvez aussi (mal) utiliser ceci pour faire des mouvements de caméra, par exemple zoom avant à gauche de l'écran directement suivi d'un zoom arrière sur le côté droit. Cela va déplacer la vue vers la droite. Si vous n'aimez pas la fonction zoom au curseur, vous pouvez sélectionner un type de zoom différent en utilisant le menu "Prefs / Editing / Zoom to".

    Tout ce qui vient d'être dit est peut être beaucoup de choses à s'habituer, alors n'hésitez pas à jouer avec la caméra pendant un certain temps. Une fois que vous êtes à l'aise avec ces commandes, continuez à construire la petite maison ci-dessous.

    Base du placement des briques, suite

    Avant de pouvoir ajouter une deuxième brique au modèle, nous devons nous assurer que le plan d'édition est actuellement défini sur "Haut/Bas". Assurez-vous que l'épingle pointe vers le haut en faisant pivoter la caméra ou en utilisant la touche de raccourci "T" (Haut).

    Maintenant, nous pouvons ajouter une seconde brique 1x4 près de la première pour créer un coin à notre maison. Alors, faisons-la glisser dans la zone d'édition graphique à partir du panneau pièces, comme précédemment. Placez-la quelque part près de la brique existante. Ensuite, nous devons faire pivoter cette brique avant de l'aligner avec la précédente. Cela peut être fait en utilisant le mode de rotation de l'épingle. Comme il s'agit du mode actuel, cliquez n'importe où sur son disque, et tout en maintenant la souris enfoncée déplacez la souris. Cela entraînera la rotation de la sélection comme indiqué par une petite étiquette contenant l'angle de rotation actuel. Déplacez-le pour qu'il indique "90 deg" (ou "-90 deg"), puis relâchez-le.

    La brique va maintenant être orientée comme nous le voulons mais c'est toujours au mauvais endroit. Vous pouvez la déplacer en cliquant dessus et en la faisant glisser d'une façon très similaire à l'ajout d'une nouvelle brique. Vous pouvez également utiliser l'épingle en "mode déplacement" pour des mouvements plus précis. Vous mettez l'épingle en mode déplacement en cliquant sur le cube centrale "croix" au-dessus du disque. Cela remplacera le disque par une croix fléchée.

    L'épingle en "mode déplacement" peut être utilisée pour déplacer la sélection de deux manières différentes sur le plan d'édition en cours. En cliquant sur le centre de la croix et en maintenant la touche de la souris enfoncée, vous la déplacez librement, mais en cliquant sur l'une des flèches et en maintenant la touche de la souris enfoncée, vous la déplacez dans une seule des directions. Utilisez le centre de la croix pour déplacer la brique afin qu'elle fasse un coin avec l'autre brique. Essayez de positionner la brique comme indiqué sur l'image ci-dessous.

    Comme vous aurez besoin de tourner et de déplacer beaucoup de choses, il y a des raccourcis clavier pour choisir l'un ou l'autre mode, à savoir "R" (Rotation) et "M" (Déplacer).

    Vous avez peut-être remarqué que l'épingle a un troisième cube/mode. Ce mode est utilisé pour changer le centre (de rotation) de la sélection en cours. Ce qui peut être nécessaire lors de la rotation de quelque-chose par rapport à quelque-chose d'autre ou autour d'une origine alternative. Ailleurs dans la documentation ce mode sera très utile mais pour l'instant nous n'en aurons pas besoin, donc vous pouvez l'ignorer pour l'instant.

    Une alternative à ce qui précède, plus facile, est de faire pivoter la nouvelle brique avant de la placer en utilisant les touches Flèchées, PageHaut et PageBas. Utilisons cette méthode pour ajouter une troisième brique à la maison. Glissons-en une nouvelle dans la zone d'édition, mais ne la lâchez pas encore. Comme vous pouvez le voir la nouvelle brique a la même orientation que celle précédemment placée. Donc, nous pourrions continuer le mur dans la même direction, mais cela ne fonctionnera pas pour une démonstration de rotation, donc nous allons plutôt l'ajouter à la direction de la première brique.

    Tout en maintenant la nouvelle pièce, ou une nouvelle sélection, "en l'air", les touches fléchées les font pivoter par pas de 90 degrés. L'axe autour duquel elles tournent dépend de la vue actuelle de la caméra de telle sorte que la rotation Gauche/Droite tourne dans une direction logique. Donc si votre vue sur la pièce est principalement de l'avant, les boutons gauche/droite la fera tourner vers la gauche ou la droite autour de son axe vertical (ou UP).

    Dans cette situation, les flèches Haut/Bas tourneront autour de l'axe horizontal et si nécessaire, vous pouvez utiliser les touches PageHaut/PageBas pour tourner autour de l'axe en profondeur. Si vous maintenez la touche Ctrl enfoncée pendant l'utilisation de l'une de ces touches, la rotation utilisera des pas de 45 degrés au lieu de 90.

    Vous pouvez utiliser la touche "Home" pour réinitialiser l'orientation de la nouvelle brique à son état de base. Il est recommandé de le faire de temps en temps (en particulier lors de l'utilisation de l'accrochage de pièces), même si cela n'est pas nécessaire, car cela permet également d'éviter les erreurs d'arrondi dans les (très) grands projets. Ces "erreurs" sont visibles dans le panneau source discuté ailleurs.

    Essayez de faire pivoter la brique afin qu'elle se connecte à la première brique placée et une fois que vous l'avez orientée comme vous le souhaitez, mettez-la à l'emplacement voulu. Cela devrait vous donner quelque chose comme l'image ci-dessous.

    Encore plus facile que d'utiliser les touches fléchées est de sélectionner d'abord une brique déjà dans l'orientation désirée avant d'ajouter la nouvelle brique. C'est parce que LDCad utilisera toujours la dernière orientation utilisée (et la couleur) pour les pièces nouvellement ajoutées. Vous sélectionnez une brique simplement en cliquant dessus. Ses bords changent de couleur, et l'épingle s'y accroche. Vous pouvez la désélectionner en cliquant dessus à nouveau ou en utilisant la touche Echap lorsqu'une sélection est active.

    Une fois sélectionnée, vous pouvez faire glisser la brique suivante dans le modèle, mais si cette brique suivante est également une 1x4, il est beaucoup plus facile (et plus facile pour les poignets) d'utiliser la touche Inser à la place. Cela va insérer une nouvelle brique du même type que la dernière utilisée. La dernière brique utilisée, en l'occurrence celle que nous venons de sélectionner, s'appelle la "pièce courante" ou "pièce active". Vous pouvez également changer de pièce active en sélectionnant (et en ne faisant pas glisser) une pièce dans le panneau pièce. Elle est indiquée par le rectangle vert qui l'encadre.

    Il est également utile de savoir comment supprimer une brique de votre modèle, ce qui est fait en utilisant la touche Suppr lorsque la brique indésirable est sélectionnée. Si vous voulez supprimer une brique parce que vous avez ajouté une mauvaise, il pourrait également être utile de la remplacer tout en continuant à utiliser l'emplacement et l'orientation actuelle. Cela peut être fait en double-cliquant sur une brique différente dans le panneau pièce.

    Utilisez l'une des techniques ci-dessus et essayez de continuer le modèle de la maison jusqu'à ce qu'elle ressemble à l'image ci-dessous. Cela complètera le premier niveau de briques. Notez les deux briques 1x2 pour faire de la place pour la porte.

    Une couche de brique complète est souvent la fin d'une étape de construction dans les manuels officiels. Commençons donc une nouvelle étape de construction à l'intérieur de notre modèle. Cela peut être fait de plusieurs façons, le plus simple est d'utiliser le raccourci Ctrl+Inser ou le bouton de la barre d'outils. Après avoir utilisé la touche de raccourci ou cliqué sur le bouton, le panneau en haut à gauche passera de "Step 1/1" à "Step 2/2". Cela indique que vous travaillez maintenant dans l'étape 2 sur 2. Ci-dessous, je vais passer les étapes de construction un peu plus rapidement, car nous aurons plus d'étapes d'ici là.

    Jusqu'à présent, nous avons construit au même niveau en utilisant le plan d'édition "Haut/Bas". Mais avec ces fondations de la maison terminées, nous devons commencer une deuxième couche. Ceci est fait en sélectionnant le mode d'édition "Côtés" ou "Avant/Arrière" en utilisant leur raccourci clavier ("S" ou "B"), ou tournez simplement la scène jusqu'à ce que le programme le sélectionne pour vous.

    Commençons la deuxième couche en ajoutant une brique 1x1 à gauche de l'ouverture de la porte pendant que le plan d'édition est réglé sur "Avant/Arrière". Pour vous assurer qu'une nouvelle brique est ajoutée à la même profondeur, vous devez d'abord sélectionner la brique 2x2 existante car LDCad utilisera la dernière "coordonnée morte" utilisée pour une brique nouvellement ajoutée. Faites glisser une brique 1x1 hors du panneau pièce et essayez de la placer au-dessus de la brique 1x2. Comme vous pouvez le voir, la grille est maintenant orientée verticalement dans le prolongement de la brique inférieure 1x2 comme dans l'image ci-dessous.

    Ensuite, nous ajoutons une autre brique 1x1 sur le côté droit de la porte et une autre 1x4 à côté de celle-ci. Pour la 1x4 vous pouvez "copier" en utilisant des Inser celle qui se trouve en-dessous. Remplissez la deuxième couche par vous-même. N'oubliez pas de choisir le plan d'édition, et sélectionnez la brique courante à bon escient. Notez également qu'une fois que vous avez mis une brique 1x2 et une brique 1x4 au deuxième niveau, vous avez la possibilité de retourner au plan d'édition "Haut/Bas" et d'ajouter les briques restantes en les utilisant comme pièce courante / orientation / coordonnées mortes. Si nécessaire, vous pouvez toujours les faire pivoter à l'aide des touches fléchées.

    Vous pouvez également copier plusieurs briques à l'aide de la touche Inser en sélectionnant plus d'une brique à la fois. Ceci est fait en maintenant la touche Ctrl enfoncée tout en cliquant avec le bouton gauche de la souris sur des briques supplémentaires. Ctrl peut également être utilisé pour enlever des briques de la sélection en sélectionnant celles qui sont déjà dans la sélection. Par exemple, vous pouvez l'utiliser pour copier le mur gauche sur le côté droit tout en utilisant le plan d'édition "Haut/bas".

    Pendant le "clonage" d'une sélection multiple, cette sélection peut également être pivotée comme n'importe quelle pièce normale. Cela vous donne l'option de faire pivoter les briques copiées latérales gauche de 180 degrés avant de les placer sur le côté droit. Ceci pour créer une meilleure disposition de "couture". Tout cela devrait vous donner quelque chose comme l'image ci-dessous.

    Ceci termine la deuxième couche, donc ajoutons une nouvelle étape de construction en utilisant Ctrl+Inser, cela changera le panneau en haut à gauche en "Step 3/3".

    À ce stade, nous mettrons en pause la construction du bâtiment pendant un certain temps pour vous mettre au courant de l'utilisation générique des "étapes de construction" et de "l'épingle d'édition".

    Etapes de construction

    Une chose très importante à comprendre est que dans LDraw, les étapes de construction indiquent la fin d'une étape et non le début. Ceci parce que tous les modèles ont au moins une étape, même si elle n'inclut pas encore les commandes d'étape. Donc, alors que nous avons seulement ajouté deux étapes afin de séparer les couches de brique, notre maison a maintenant trois étapes de construction.

    Les étapes de construction ont des options supplémentaires qui peuvent être utilisées pour faire pivoter le modèle. Cela peut être utilisé pour s'assurer que les nouvelles pièces ajoutées dans cette étape sont visibles par quelqu'un suivant les instructions. Voir aussi l'option "NSR" discutée ci-dessous dans le chapitre sur la boussole d'édition.

    Les nouvelles briques sont toujours ajoutées à l'étape en cours, comme indiqué dans le panneau en haut à gauche. Les raccourcis associés à l'étape de construction sont :

    Vous pouvez également naviguer dans les étapes en utilisant les boutons d'étape de construction de la barre d'outils. En cliquant sur le panneau "Step 3/3" en haut à gauche, vous ouvrez le menu "Stepping" contenant les mêmes actions, et d'autres plus avancées dont nous n'avons pas besoin maintenant. Au bas du menu, vous trouverez la liste de toutes les étapes en tant qu'éléments uniques, vous permettant d'aller directement sur une étape particulière.

    Il existe de nombreuses façons de réorganiser les étapes et les façons de les ajouter aux modèles existants, elles seront abordées plus loin dans cette documentation. En pratique, il est toujours plus facile d'ajouter des étapes de construction lors de la construction du modèle, même si ce n'est qu'une indication approximative que vous affinerez plus tard. N'hésitez pas à jouer à naviguer avec les étapes pendant un certain temps, assurez-vous juste de vous mettre sur la troisième avant de continuer.

    Notez que la troisième étape est vide car nous n'y avons pas encore ajouté des briques. Le modèle final aura plus d'étapes pour jouer avec.

    La boussole d'édition

    Jusqu'à présent, j'ai essayé de vous familiariser avec une chose à la fois en utilisant seulement le comportement par défaut des choses. Ce faisant, j'ai complètement ignoré la boussole d'édition dans le coin inférieur gauche, brièvement discutée. La boussole est sans doute le contrôle le plus important dans LDCad, il est donc très important que vous compreniez parfaitement son but et son fonctionnement interne.

    Vous accédez à la boussole en déplaçant votre souris sur la petite grille avec les flèches tricolores dans le panneau point de vue, du coin inférieur gauche. En conséquence, cela zoomera sur une version plus grande comme indiqué ci-dessous. Cela vous donnera un accès direct à un certain nombre de paramètres de grille et plan d'édition souvent utilisés et affiche leur état actuel.

    Au centre de la boussole, vous trouverez une croix rouge, verte et bleue. Ces lignes indiquent l'orientation monde/caméra. Rouge indique gauche/droite ou largeur, vert indique haut/bas ou hauteur (notez que LDraw utilise une hauteur négative indiquée par la flèche verte pointant vers le bas) et bleu indique avant/arrière ou profondeur.

    Parallèlement à deux des trois lignes principales, vous verrez l'orientation actuelle du plan d'édition au moyen d'une grille grise. Dans les coins de cette grille sont quatre icônes que vous pouvez utiliser pour déplacer la caméra dans une direction (flèche) ou deux (croix) à la fois.

    À l'intérieur du panneau, vous pouvez également faire pivoter la caméra en utilisant l'arrière-plan de la boussole. Idem pour le mouvement de la caméra en utilisant Maj ou Ctrl+Maj. Tout se comportera comme dans la zone d'édition, à l'exception du zoom qui n'utilisera plus "zoom au curseur" mais un "zoom au centre".

    Allons-y pour passer en revue toutes les options de contrôle organisées autour de la bordure de la boussole agrandie.

    Dans le coin supérieur gauche du panneau point de vue, vous voyez le texte "10 8 10" (si vous êtes en vue de dessus). Cela indique les pas de grille utilisés dans le plan d'édition en cours. Il utilise les couleurs Rouge/Vert/Bleu pour indiquer les axes X, Y et Z correspondants. En cliquant sur l'un des nombres on ouvre le menu grille (Grid). L'utilisation principale de ce menu consiste à sélectionner une grille différente et/ou un pas de rotation. Ceci est nécessaire si le placement des briques semble "sauter" l'endroit où vous voulez qu'elles se rendent à cause d'une grille utilisant un pas trop grand.

    En haut à droite du panneau point de vue, vous voyez le texte "15 DEG" qui indique le pas de rotation en cours. Cliquer sur cette étiquette ouvrira également le menu grille (Grid). Notez que les pas des deux catégories "Position" et "Rotation" ont des raccourcis clavier configurés. Il est préférable de les utiliser à la place du menu le plus rapidement possible car cela vous fera gagner beaucoup de temps.

    Au-dessous du pas de rotation, le texte "NSR" ("No Step Rotation" ou Pas d'étape de rotation) est affiché, ceci indique l'état actuel de la "Rotation de l'étape de construction". Ceci contrôle les rotations automatiques de la caméra pendant la navigation dans les étapes de construction, comme nous l'avons vu dans le chapitre sur les étapes de construction ci-dessus. Il est désactivé par défaut, en cliquant dessus, il sera activé et change le texte en "ASR" ("Auto Step Rotation" ou Etape de rotation automatique). Un message peut apparaître si le contrôle de la caméra de rotation est actif car cela limite la liberté de rotation comme indiqué ci-dessous.

    Dans la partie inférieure droite du panneau point de vue, vous voyez d'abord le texte "TBL", ce qui indique que le système de caméra actuel est "Trackball". En cliquant sur cette étiquette, vous passerez au mode "contrôle de rotation" brièvement mentionné ci-dessus. Cela changera le texte en "SPN". N'hésitez pas à l'essayer et voyez vous-même la différence avec le mode trackball.

    Passer du mode trackball au mode spin peut provoquer un petit saut dans l'orientation de la caméra car le contrôle en mode spin a moins de liberté. Il peut également déclencher un message d'avertissement si la fonction de rotation d'étape est actuellement activée, car cette fonctionnalité nécessite une liberté de rotation totale.

    Après avoir essayé le mode spin pendant un certain temps, n'hésitez pas à le laisser activé, ou revenez au mode trackball si vous préférez maîtriser ce mode à la place. Vous pouvez changer le mode de la caméra à tout moment.

    En dessous du mode caméra, le mode de d'épingle d'édition actuel est affiché en utilisant une étiquette "MOV", "ROT" ou "CEN". En cliquant dessus, vous basculerez entre les états. Vous n'utiliserez probablement jamais cela car les raccourcis clavier sont beaucoup plus efficaces à utiliser.

    En dernier dans le coin inférieur droit, est indiqué "3D", c'est le mode de projection de la caméra actuelle également connu sous le nom de projection "Perspective". En cliquant dessus, vous basculerez la vue d'édition en mode de projection "2D" ou "Orthogonal". Cela changera aussi légèrement les visuels de la boussole, car un gros cube apparaît. Alors que dans ce mode, la profondeur sera sans signification, ce qui signifie que les pièces à l'arrière de votre modèle seront dessinées à la même taille que celles à l'avant. Dans ce mode, le plan d'édition actuel est également beaucoup plus apparent lorsque la caméra est verrouillée. Vous pouvez uniquement faire pivoter une vue 2D à l'aide du cube de la boussole. Il indique les 6 côtés du modèle individuel (Gauche (Left) / Droite (Right) / Haut (Top) / Bas (Bottom) / Avant (Front) / Arrière (Back) ). Chacun de ces côtés peut également être tourné dans le sens horaire ou antihoraire par pas de 90 degrés. Il en résulte 24 vues différentes possibles sur votre modèle. Nous n'avons pas vraiment besoin du mode 2D dans notre petit modèle de maison alors revenons à la projection 3D pour le moment. Le mode 2D sera utilisé dans un exemple réel plus tard dans la documentation.

    Dans la partie inférieure gauche du panneau point de vue, vous trouverez le texte "AEP" (Automatic Editing Plane ou Plan d'édition automatique). Cela signifie que la fonction de sélection du plan d'édition est basée automatiquement sur la caméra. Cliquer sur le texte la désactivera en le changeant en "MEP" (Manual Editing Plane ou Plan d'édition manuel). En mode manuel, les rotations de caméra ne provoquent plus de changements dans l'orientation du plan d'édition. Le centre de la boussole zoomée affiche le plan d'édition en cours et vous pouvez également l'utiliser pour le modifier. Ceci est fait en cliquant sur les petits triangles gris/vert au milieu de sa grille. Mais comme avec la plupart des choses, il est probablement plus facile d'utiliser simplement les raccourcis clavier.

    Ensuite en bas à gauche, le texte "GS" est affiché, cela indique le mode d'accrochage actuel. GS signifie "Grid Snapping" (accrochage sur la grille), cliquer dessus activera l'accrochage de pièce indiqué par le passage du texte en "PS". Bien que l'accrochage de pièces soit activé, l'ajout et le déplacement de pièces se comporteront différemment. Nous en dirons davantage plus loin.

    En haut à gauche en dessous des valeurs de grille, vous trouverez le label "ABS", ceci indique que la grille est actuellement en absolue. En cliquant dessus, vous activez une grille relative basée sur la sélection en cours. Si aucune sélection n'est active, rien ne se passera. Si une grille relative est active, elle sera indiquée par un texte "REL" au lieu de "ABS". Cliquer sur le texte "REL" revient toujours à "ABS", quel que soit l'état de la sélection. Vous en apprendrez plus sur la grille relative ci-dessous.

    Comme vous pouvez le voir, les commandes ou états de la boussole indiquent tous les aspects du comportement d'édition discuté jusqu'à présent. Cela devrait être le premier endroit où aller quand vous avez besoin de changer un paramètre ou si vous voulez en connaître l'état actuel.

    Base du placement des briques, en utilisant l'attirance pièce

    Jusqu'à présent, nous avons ajouté des nouvelles briques à la scène en utilisant exclusivement des grilles 2D. Il existe cependant un moyen plus simple d'ajouter des briques à un modèle en utilisant l'attirance pièce.

    Vous pourriez vous demander pourquoi j'ai perdu votre temps à vous apprendre la méthode grille alors que l'attirance est disponible. La principale raison à cela : Toutes les pièces LDraw ne disposent pas des informations supplémentaires nécessaires pour l'attirance pièce. Cela signifie que certaines pièces doivent encore être placées en utilisant la méthode grille. Donc, pour pouvoir utiliser toutes les pièces LDraw, il est préférable d'utiliser les deux méthodes. Et en combinant les deux méthodes, vous êtes en mesure de construire des modèles encore plus rapidement, car elles peuvent être utilisées pour se compléter l'une l'autre.

    Pour utiliser l'attirance pièce, vous devez d'abord l'activer en utilisant la boussole d'édition. Ceci est fait en s'assurant qu'il montre "PS" comme deuxième texte en bas à gauche, comme discuté dans le chapitre précédent. Personnellement, je désactive également la fonction d'orientation automatique du plan d'édition ("AEP") lors de l'utilisation de l'attirance pièce. Ceci parce que vous voulez généralement le mode Haut/Bas tout le temps, peu importe l'angle de vue. Donc, assurez-vous que la boussole indique "MEP" et "PS" dans le coin inférieur gauche puis de mettre le plan d'édition en mode Haut/Bas si ce n'est déjà fait.

    Maintenant, en utilisant l'attirance pièce, cela permet d'ajouter une troisième couche de brique en utilisant la même disposition que la première couche. Sélectionnez une brique 1x4 et appuyez sur Inser (ou faites-en glisser une du panneau pièce). Vous remarquerez que la nouvelle brique "colle" aux briques voisines d'une manière plus réelle que lorsque vous utilisez le mode grille. La grille est toujours là mais elle ne sera affichée que si aucune "connexion" n'a été trouvée dans les environs immédiats de l'emplacement actuel de la souris.

    L'attirance pièce dans LDCad a toujours besoin d'une assistance pour une orientation correcte ou "proche de", en particulier pour les pièces très symétriques comme les briques. Ainsi, tout en vous déplaçant, vous pouvez toujours faire pivoter la nouvelle brique à l'aide des touches fléchées. Placez la brique dans un endroit approprié (par exemple sur le mur arrière gauche). Ensuite, essayez de compléter la couche en utilisant l'attirance pièce. La principale chose à retenir lors de l'attirance pièce est d'avoir toujours une vue débloquée à l'emplacement que vous souhaitez aligner, et il est généralement préférable de construire d'arrière en avant.

    Dans les situations où vous travaillez avec des pièces non orientées à 90 degrés, les choses peuvent devenir un peu plus difficiles, ceci sera traité dans le chapitre ci-dessous sur les grilles relatives. La maison, cependant, est extrêmement rectangulaire, donc vous ne devriez pas avoir de vrais problèmes en utilisant l'attirance pièce pour ce modèle à partir de maintenant.

    Si une pièce ne "va pas où vous le voulez", essayez de tourner légèrement la caméra. Ceci est possible en maintenant une nouvelle pièce "en l'air" en utilisant le bouton droit de la souris, maintenez simplement le bouton gauche de la souris enfoncé aussi. Il est également possible d'attirer plusieurs nouvelles pièces lorsque vous utilisez des Inser sur une sélection multiple (par exemple pour copier le côté gauche sur le mur latéral droit).

    L'attirance pièce peut être désactivée "en cours d'ajout" ou à tout autre moment en utilisant le raccourci Maj+P si nécessaire. Cela peut être nécessaire si la nouvelle pièce que vous souhaitez ajouter ne s'accroche pas correctement en raison d'informations d'accrochage manquantes dans ses définitions. Heureusement, toutes les pièces utilisées dans ce modèle de maison ont des informations complètes, donc vous ne devrez pas vous en inquiéter pour l'instant. Mais si vous avez besoin d'une pièce sans information complète, vous pouvez toujours vous rabattre sur les compétences d'édition grille que vous avez apprises ci-dessus.

    Une fois que vous avez terminé le nouveau niveau, il devrait ressembler à la première image de la séquence ci-dessous. Terminez-le en ajoutant une nouvelle étape (Ctrl+Inser) et essayez de compléter les deux étapes suivantes en utilisant les deux autres images ci-dessous comme référence. N'oubliez pas d'ajouter également des étapes après avoir terminé chaque niveau.

    Les fenêtres blanches apportent un bon changement de rythme car nous n'avons utilisé que des briques rouges jusqu'à présent. Vous les trouverez dans la l'onglet 4 du panneau pièces que nous avons préparé au début du chapitre. Sélectionnez simplement le blanc en utilisant la roue chromatique du panneau couleur et si vous avez du mal à trouver les fenêtres tapez "1x4x2" alors que le curseur de votre souris est à l'intérieur du rectangle du "filtre des pièces". Cela limitera l'affichage à 5 éléments dont 3 sont des variantes de la pièce fenêtre utilisée. J'ai utilisé la première, mais cela n'a pas vraiment d'importance dans notre cas. Cliquez sur l'icône de droite ou appuyez sur "Echap" pendant que le curseur se trouve à l'intérieur du rectangle de texte pour effacer le filtre actuel et filtrer "1x6x2" pour trouver les fenêtres plus larges utilisées dans les murs latéraux.

    Après avoir terminé ce petit exercice, votre modèle de maison devrait avoir six étapes de construction dont les cinq premiers couvrent une seule couche de brique. Avant de continuer sur la couche suivante, il faut d'abord ajouter une plaque de base au modèle. La seule raison pour laquelle je n'ai pas commencé par elle, c'est que cela aurait rendu l'introduction de l'édition basée sur la grille un peu plus compliquée. Mais il n'y a aucune raison de ne pas le faire maintenant. Cela nous donne aussi une bonne excuse pour procéder à une réorganisation des étapes de construction, car nous devons insérer une nouvelle étape avant la première étape actuelle.

    Il est très facile d'insérer une étape avant une étape existante. Utilisez "Ctrl+Page haut" pour accéder à la première étape et cliquez sur le panneau "Step 1/6" dans le coin supérieur gauche pour ouvrir le menu des étapes (Stepping). Dans ce menu, cliquez sur "Insert". Cela ajoutera une nouvelle étape avant celle en cours, augmentant le numéro de toutes les autres étapes d'une unité. La nouvelle étape 1 (Step 1) sera vide, elle affichera donc une zone d'édition vide car les premières briques sont maintenant à l'étape 2.

    Utilisons l'onglet 6 du panneau pièces pour localiser la bonne plaque de base. Les plaques de base ont leur propre groupe, mais comme nous en avons besoin d'une seule, il est tout aussi rapide d'utiliser le groupe de recherche générique que nous avons préparé dans l'onglet 6. Tapez "16x16" dans la zone du filtre de recherche pour obtenir une vue d'ensemble des pièces de cette taille, composées uniquement de plaques de base. Nous avons besoin d'une plaque dont deux sont apparemment identiques. Dans ce cas, c'est parce que l'une d'elle est une "pièce alias" également reconnaissable par le "=" débutant sa désignation comme indiqué dans la barre d'état. Cela signifie que cette pièce particulière a plusieurs numéros de pièces dans le monde réel. Vous voulez généralement celle sans le "=" dans sa description car cela est considéré comme une modélisation plus propre lors de l'utilisation de LDraw.

    Vous pouvez exclure ces pièces alias spéciales à l'aide de la boîte de dialogue de filtrage avancé. C'est pratique si vous ne prévoyez pas de les utiliser. Vous l'ouvrez en cliquant sur la zone de texte du filtre ou en appuyant sur F3 alors que la souris se trouve dans le panneau pièces. Ceci ouvre la boîte de dialogue montrée dans l'image ci-dessous. Utilisez-la pour décocher l'élément "Alias parts" à droite. Beaucoup de gens veulent également exclure les "pièces colorées" qui sont des pièces avec une couleur prédéfinie, alors n'hésitez pas à décocher aussi "Color parts".

    Lorsque vous avez terminé d'ajuster les paramètres, vous devez les appliquer à tous les autres panneaux pièces et en faire le réglage par défaut ou il ne sera utilisé que pour ce seul panneau pièce tant que vous l'utilisez ou que vous redémarriez LDCad. Vous en faites la valeur par défaut en cliquant sur le bouton "Options" qui ouvre un menu contextuel. Dans ce menu, cliquez sur "Apply to all and use as default" (Appliquer à tous et utiliser par défaut) pour les rendre permanents. Ensuite, vous pouvez fermer la boîte de dialogue en cliquant sur "Accept".

    Reprenons en ajoutant la plaque de base 16x16. Faites-la glisser dans la zone d'édition vide et parce qu'il n'y a rien à accrocher, il suffit de le placer n'importe où dans le centre de la vue pour le moment. Ensuite, accédez à l'étape 2 de la construction, rendant la première couche de brique visible à nouveau.

    La plaque de base est maintenant visible mais au mauvais endroit, sauf si vous avez beaucoup de chance ou si vous trichez en utilisant le panneau coordonnées. Heureusement, vous pouvez déplacer n'importe quelle pièce, quelle que soit l'étape dans laquelle elle se trouve. Saisissez la plaque de base de façon à la "déconnecter" de nouveau, cette fois-ci elle sera accrochée à la base de la première couche. Positionnez-la de manière à ce que les côtés gauche, droit et arrière débordent de deux tenons au-delà des briques. Cela fait, revenez à la dernière étape de construction (maintenant la 7) en utilisant "Ctrl+Page bas". Cela devrait ressembler à l'image ci-dessous.

    À ce stade, je pense que vous êtes probablement assez familier avec les bases de l'édition pour terminer le reste de la maison en faisant correspondre les captures d'écran des étapes de construction ci-dessous. N'oubliez pas d'ajouter une nouvelle étape avant de commencer l'image suivante. Lorsque vous avez terminé, vous devriez avoir 17 étapes (vous n'avez pas à ajouter une étape après avoir placé la pièce finale).

    Si, pour une raison quelconque, vous avez oublié une étape ou ajouté des pièces dans la mauvaise étape, ne vous inquiétez pas à ce sujet, vous pouvez le corriger plus tard, comme expliqué dans le chapitre "Base de la gestion des étapes de construction".

    Le seul piège dans ces images pourrait être les pièces de la porte et son encadrement, car nous n'avons pas préparé d'onglet pour ces pièces la. Vous pouvez utiliser l'onglet inutilisé 5 pour naviguer vers les "Bodywork/Door" (carrosseries/portes) ou rediriger l'onglet 4 "Windows" (fenêtres) vers celle-ci montant d'un niveau puis en entrant dans le groupe des portes. Une fois à l'intérieur du groupe porte, filtrez-le sur "1x4x6" et vous ne devriez avoir aucune difficulté à trouver les pièces nécessaires. Assurez-vous simplement de sélectionner la variante d'encadrement ("Door ... Frame") avec les petits trous à gauche. Vous pouvez également utiliser l'onglet 6 pour filtrer sur "1x4x6", mais elle affichera plus de pièces, non liées directement aux portes.

    Base de la gestion des étapes de construction

    Maintenant, il y a 17 étapes de construction, il est plus intéressant de naviguer à travers ces étapes en utilisant les raccourcis "Page haut" et "Page bas" car vous pouvez les maintenir pour faire une petite animation. Mais comme il s'agit de votre tout premier modèle, il est probable que vous vous êtes trompé dans une ou deux étapes. Ces erreurs peuvent être cependant corrigées de plusieurs façons. La principale est d'utiliser le menu des étapes ("Stepping") que vous pouvez ouvrir en cliquant sur le panneau "Step 17/17" dans le coin en haut à gauche.

    Nous avons déjà expérimenté l'insertion d'une étape, donc si vous en avez manqué une, naviguez vers celle qui devrait être la suivante et utilisez la commande "Insert" du menu. Si vous avez manqué plusieurs étapes, il est préférable de les ajouter en premier pour les étapes inférieures, car cela corrige les numéros d'étapes les plus élevées au fur et à mesure. Après avoir inséré chaque nouvelle étape, naviguez jusqu'à la dernière étape. Les briques que nous voulons déplacer sont actuellement visibles. De cette façon, il devrait être plus facile de les sélectionner avec "Ctrl. Une fois qu'elles sont toutes sélectionnées, vous pouvez les déplacer à l'étape correcte en utilisant le sous-menu "Move to step" (Déplacer vers l'étape) dans le menu "Stepping". Si, par exemple, vous avez oublié l'étape 9 et que vous avez sélectionné toutes les briques de cette étape, cliquez simplement sur l'élément "Step 9" du sous-menu "Move to step" et cela sera corrigé. Vous pouvez le faire pour n'importe quelle brique actuellement dans la mauvaise étape.

    Une alternative à ce qui précède pourrait être l'utilisation de "Selection insert" du menu, cela insérera une nouvelle séparation d'étape avant la pièce actuellement sélectionnée. C'est pratique lorsque vous savez que vous avez ajouté des pièces dans le bon ordre, mais que vous avez oublié d'ajouter l'étape elle-même. Dans ce cas, vous pouvez sélectionner la première pièce de cette étape oubliée et cliquer sur "Selection insert". Cela divise l'étape actuelle de telle sorte que la pièce sélectionnée devienne la première pièce de l'étape d'origine. Toutes les briques qui précèdent seront déplacées dans une nouvelle étape.

    Vous pourriez également avoir ajouté une étape deux fois sans le remarquer, jusqu'à ce que de nouvelles briques aient été placées. Cela peut être corrigé en naviguant vers l'étape vide, puis en cliquant sur "Delete" (Supprimer) cela va fusionner l'étape en cours avec la suivante en en conséquence la supprimer.

    Les méthodes ci-dessus peuvent également être utilisées pour ajouter des étapes à un modèle existant qui n'en a pas actuellement. Mais cela peut demander beaucoup de travail car la sélection de toutes les pièces d'une certaine étape peut être très fastidieuse en raison d'un manque d'accès ou visibilité, etc. Dans ce cas, vous voudrez probablement maîtriser le panneau source comme exploré dans une autre section de la documentation.

    Construire avec des angles

    Le modèle de la maison, maintenant terminé, est très rectangulaire. Ce n'est pas si étrange que cela car la plupart des modèles officiels le sont. Ce n'est pas le cas pour tous les modèles, il est donc également possible de construire suivant n'importe quel angle en utilisant LDCad. Pour ce faire, un certain nombre d'outils sont en place pour vous aider à le faire.

    Pour illustrer le problème principal, ajoutons quelque chose avec un angle au modèle de la maison. Peut-être un petit arbre par exemple. Pendant que vous utilisez (encore) l'accrochage pièce, construisez le tronc comme indiqué sur l'image ci-dessous. Ensuite, désactivez l'accrochage pièce un moment car cela rend le problème que nous traitons plus facile à expliquer. Pour ce faire, utilisez la boussole ou le raccourci "Maj+P".

    Maintenant, en utilisant toutes vos compétences en édition grille, essayez de finir l'arbre comme indiqué dans l'image ci-dessous en utilisant une brique 1x3 et trois 1x1. Même si les nouvelles briques utilisent la même orientation que la plate (si elle est ajoutée en dernier), les pièces ne vont toujours pas aux bords de la plate car ces endroits sont hors grille. Vous pouvez désactiver le pas de grille ou le régler à un pas très fin pour s'en rapprocher. Mais il sera très improbable d'être précis, si cela se fait, en regardant de près.

    Le problème principal ici est que la plate est "de travers" par rapport à la grille. C'est parce que la grille sépare ce qui est gauche/droite, haut/bas et avant/arrière en mode édition globale (référenciel absolu). Pour ajouter des choses à la plate, nous aurions besoin de règles différentes pour cette direction. Vous réaliserez peut-être que l'utilisation de l'accrochage de pièce permettra de résoudre le problème d'angle dans ce cas (mais seulement si vous avez cliqué sur la plate en diagonale en dernier). Parce que la fonction d'accrochage saute les parties inconfortables hors grille pour vous. Bien que cela fonctionne dans ce cas, elle ne viendra pas à la rescousse dans tous les cas, même en excluant les pièces avec des informations d'attirance incomplètes.

    La manière globalement correcte pour faire ce genre de construction angulaire est d'utiliser un sous-modèle (traité ailleurs) ou en utilisant une grille relative. Explorons cette méthode de grille relative. Elle est activée simplement en appuyant sur le texte "ABS" dans la boussole alors que la plate verte (orientée) est sélectionnée. Le texte changera en "REL" indiquant que la grille est maintenant relative. Vous pouvez également utiliser la touche de raccourci "O" (Origine).

    Une fois la grille relative active, sa couleur dans la boussole deviendra orange (comme indiqué sur l'image ci-dessous). La boussole montrera également deux ensembles d'axes de référentiel. Parmi ceux-ci, les plus épais sont les relatifs et les plus minces et foncés sont les absolus originaux. Vous pouvez désactiver les absolus dans le menu "Prefs / Editing / Show abs axises in compass" si cela vous dérange.

    Dans le nouvel état de la grille, il est soudainement facile d'ajouter une brique à l'un des tenons de la plate. Ceci parce que maintenant le "monde" est à nouveau rectangulaire, il l'est juste par rapport à la plate verte. Essayez de compléter l'arbre comme indiqué dans l'image un peu plus haut.

    Une fois que vous avez terminé la construction à cet angle particulier, appuyez sur le texte "REL" dans la boussole ou utilisez le raccourci "O" alors que rien n'est sélectionné.

    Conclusion : Et après

    Ce qui précède est tout ce dont vous avez besoin pour commencer à modéliser avec LDCad. Comme pour la plupart des choses, il faudra de la pratique pour aller vraiment de l'avant. Une façon de s'entraîner consiste à déterrer quelques vieux livrets d'instructions officiels (ou à en trouver quelques-uns sur le net) afin d'essayer d'en recréer numériquement les modèles. Pour les débutants, il est généralement préférable d'utiliser pour cela au début de petits sets "City" ou "Creator".

    Une fois que vous êtes à l'aise avec les bases de l'édition, n'hésitez pas à continuer sur le chapitre suivant : Edition avancée, dans laquelle nous explorerons les sous-modèles, les pièces dynamiques (flexibles), et plus encore.

     

    Tutoriel : Edition avancée

    Une fois que vous avez sous contrôle les bases, il serait peut-être temps de débloquer certaines des fonctionnalités plus avancées du système LDraw et du programme LDCad.

    Sous-modèles

    LDraw est un format récursif, ce qui signifie que vous pouvez utiliser vos modèles à l'intérieur d'autres modèles comme s'ils n'étaient plus que de grosses ou énormes briques. En plus, le format LDraw peut prendre en charge plusieurs modèles à l'intérieur d'un seul fichier (MPD). Les fichiers MPD prennent en charge complètement la nature récursive de LDraw en vous permettant de concevoir vos modèles de façon modulaire tout en mettant soigneusement le tout dans un seul fichier.

    LDCad supporte pleinement l'utilisation de modèles récursifs, y compris le format MPD. Pour mieux comprendre cette fonctionnalité, il est préférable d'essayer et de créer un simple modèle MPD. Pour cela ouvrir un nouveau fichier comme d'habitude, mais ne pas l'enregistrer sur le disque tout de suite. Ensuite, vous pouvez ajouter quelque chose comme vous avez déjà appris, mais comme je veux vous expliquer l'utilisation des sous-modèles, limitez-vous à une petite plaque de base ou quelque chose de similaire, juste pour avoir une base pour placer ensuite dessus les sous-modèles.

    Ensuite, nous ajoutons un nouveau sous-modèle au fichier en cliquant sur l'icône de la barre d'outils. Ceci vide la zone graphique et ouvre la boîte de dialogue familière "Edit header" (édition entête). La différence est que c'est l'entête d'un modèle supplémentaire (deuxième) à l'intérieur du nouveau fichier, sur lequel nous travaillons. Une autre petite différence est que vous êtes autorisé à modifier le nom du fichier pour ce modèle, ce qui n'est autorisée que pour les modèles à l'intérieur d'un fichier MPD (le fichier est passé de l'extension ldr à mpd dès que vous avez ajouté un second modèle à l'intérieur). N'hésitez pas à utiliser la boîte de dialogue comme d'habitude, mais pour cet exemple nous allons dessiner un petit arbre, alors remplaçons "subModel-1.ldr" par "arbre.ldr". Après avoir accepté les changements, c'est maintenant une bonne idée d'enregistrer le fichier sur le disque. Il est généralement préférable de reporter l'enregistrement d'un fichier MPD après avoir ajouté un deuxième modèle, car la boite de dialogue sauvegardera automatiquement le fichier avec l'extension .mpd au lieu de .ldr selon la convention d'usage officielle LDraw.

    Il n'y a pas de limitations sur ce que vous pouvez dessiner dans un sous-modèle, mais dans cet exemple, pour rester simple, il suffit juste de dessiner comme objet un arbre simple. Peut-être quelque chose comme sur l'image ci-contre, mais n'hésitez pas à le faire suivant votre propre goût. Quand c'est fini, le sous-modèle peut être utilisé dans le modèle principal (ou n'importe quel autre sous-modèle) du fichier MPD comme s'il s'agissait d'une brique normale. Vous pouvez même l'utiliser plusieurs fois et/ou avec différentes couleurs (nous verrons cela plus tard).

    Pour ajouter le sous-modèle à un autre modèle du fichier, vous devez d'abord revenir sur le modèle de base, ce qui peut être fait en appuyant sur la touche "Fin", lorsque la souris est à l'intérieur de la zone graphique car cette touche ramène le précédent modèle utilisé au premier plan. Mais comme vous en aurez ensuite besoin, vous pouvez aussi utiliser le panneau pièces pour naviguer entre le modèle de base et les sous-modèles. Sélectionnez sur le panneau pièces un onglet inutilisé ou peu utilisé et naviguez si besoin jusqu'à la racine en cliquant sur la grosse flèche vers le haut jusqu'à ce qu'elle disparaisse. Ensuite, vous cliquez sur la séquence suivante des cellules du panneau :
     

    Cela ouvre le groupe d'objets "File content" (contenu du fichier). Ce groupe affiche tous les modèles contenus dans le fichier courant, il doit donc ressembler à l'image ci-contre. Ce groupe permet de sélectionner le modèle de base ou le sous-modèle que vous souhaitez ensuite modifier. Cela se fait en pointant la souris en bas à droite de la cellule contenant le modèle cible. Une icône de "clé plate" s'affiche. En cliquant dessus vous éditez le modèle concerné.

    En plus de naviguer entre les sous-modèles du fichier MPD, ce groupe est également utilisé pour ajouter l'un des modèles à un autre modèle comme s'ils étaient des pièces normales. Cela se fait exactement de la même façon qu'avec n'importe quelle autre pièce en le faisant glisser du panneau pièces vers la zone graphique ou en le sélectionnant et en appuyant sur la touche "Inser".

    Astuce : Désactivez l'accrochage pièce lorsque vous ajoutez de grands sous-modèles car actuellement cette fonction de LDCad n'est pas optimisé pour ce type d'opération et pourrait entraîner une réaction très lente. Mais ici, le petit arbre ne devrait pas poser de problèmes.

    Ajoutez quelques arbres à la plaque de base. Puis, essayez de créer un deuxième sous-modèle (par exemple un rocher) et ajoutez-en également quelques-uns au modèle principal. Si vous avez réussi, vous devriez vous retrouver avec quelque chose qui ressemble à l'image ci-dessous.

    Vous vous demandez peut-être comment j'ai réussi à ajouter des rochers colorés différemment en utilisant un seul sous-modèle. Ceci est possible en utilisant la couleur LDraw spéciale numéro 16. Cette couleur 16 signifie "utiliser la couleur parent". Tout ce qui utilise la couleur 16 dans votre sous-modèle sera de la couleur attribuée au sous-modèle lors de son placement, tout comme avec des briques LDraw normales. Vous pouvez assigner à n'importe quel ensemble de pièces la couleur 16, ainsi vous pourriez par exemple assigner la couleur 16 aux briques vertes du haut de l'arbre, et ainsi affecter différentes teintes de vert aux arbres qui auront par contre tous un tronc brun. Vous trouverez la couleur 16 dans le groupe "Special" du panneau couleurs. Il faut juste être sûr d'utiliser la couleur 16 et non la couleur 24 qui a une utilisation légèrement différente.

    Ce qui précède est l'essentiel pour être productif avec les sous-modèles. La seule chose qui reste à dire à mon humble avis est quand utiliser les sous-modèles. Il ne faut pas limiter son utilisation aux choses que vous allez à priori utiliser plusieurs fois dans un modèle. Il est tout à fait normal de mettre des choses utilisées une seul fois dans un sous-modèle. Les principales raisons de cet usage sont habituellement la simplification de l'assemblage et/ou une conception modulaire. Mais il pourrait aussi être nécessaire pour limiter la taille de la section sur laquelle vous travaillez afin de ne pas effondrer votre carte graphique.

    Une autre bonne raison d'utiliser un sous-modèle est la construction inclinée ou tournée suivant un angle quelconque. Au lieu de placer toutes les pièces une à une suivant un tel angle, envisagez la création d'un sous-modèle avec un assemblage "à plat" normal, puis placez ce sous-modèle au bon angle d'un seul coup. Cela permettra un ajustement plus facile de cet angle dans l'avenir. Cela empêchera également des erreurs d'arrondi et/ou des problèmes d'alignement.

    Vous pourriez être un peu accablé par ces "règles", mais ne vous inquiétez pas, vous n'avez pas à planifier tous ces sous-modèles au préalable. LDCad vous propose plusieurs outils pour réorganiser les choses par la suite. Par exemple vous pouvez facilement déplacer la sélection courante dans un nouveau sous-modèle en utilisant le menu "Reorganize" (réorganise) qui est accessible par un clic droit dans la zone graphique lorsqu'une sélection est active. Ceci ouvre le menu "Selection" (sélection), menu à l'intérieur duquel vous cliquez sur "Reorganize", puis sur "Move to submodel" (déplace vers un sous-modèle). Cela ouvre la boîte de dialogue suivante qui propose quelques options que vous n'avez généralement pas besoin de changer.

    Après avoir cliqué sur le bouton "Accept" un nouveau sous-modèle sera créé, la sélection y sera déplacé, suivi par le remplacement de cette sélection par une référence au nouveau sous-modèle. Cela ouvre ensuite la boîte de dialogue d'édition de l'en-tête du nouveau sous-modèle, afin que vous puissiez ajouter son nom de fichier, etc, ... Après avoir fermé cette boîte de dialogue, rien ne semble avoir changé et le modèle est visuellement le même. Mais, comme la sélection est maintenant un unique sous-modèle vous pouvez l'utiliser comme un autre sous-modèle. Il y a d'autres outils associés aux fichiers MPD disponibles dans le menu "Reorganize", mais ils seront expliqués dans un des prochains chapitres.

    Edition imbriquée

    L'utilisation des sous-modèles est extrêmement utile, mais a un inconvénient majeur. Cela limite la façon dont vous pouvez changer les pièces mises en sous-modèles si vous êtes en train de modifier le modèle principal lui-même. Cela vous oblige à basculer en permanence entre ces modèles pour les éditer. Egalement, cela limite votre compréhension du modèle assemblé dans son ensemble. Ce problème est encore plus évident lors de l'utilisation de la grille (sans accrochage pièce) comme approche de construction, en voulant sélectionner une pièce dans une orientation similaire à celle que vous voulez ajouter. Mais cette pièce ne peut pas être individuellement sélectionnée parce qu'elle est dans un sous-modèle. Heureusement, LDCad offre une fonctionnalité unique qui supprime complètement cette lacune d'utilisation des sous-modèles, ça s'appelle le mode édition imbriquée.

    Une édition imbriquée signifie que toutes les pièces des sous-modèles utilisés dans le modèle actif vont se comporter comme si elles étaient placées directement dans le modèle actif lui-même. En conséquence toutes les informations de position et orientation de ces pièces sont données dans le système de coordonnées du modèle actif. Le seul inconvénient de l'édition imbriquée est que vous perdez le contrôle des références des sous-modèles eux-mêmes, mais ceci est résolu simplement en basculant en mode édition normale lorsque c'est nécessaire ou en utilisant les exclusions (voir explications plus loin). Evidemment le mode édition imbriquée n'est utile que lorsque vous travaillez sur un modèle contenant des sous-modèles.

    Vous pouvez modifier le mode d'édition courant avec le panneau en haut à droite de l'écran graphique qui devient visible lorsque vous déplacez le curseur de votre souris sur le nom du fichier affiché normalement à cet endroit. Pour activer l'édition imbriquée, cliquez simplement sur l'onglet "Nested" et sur l'onglet "Normal" pour revenir en mode édition normale. Le panneau session offre également d'autres options sur la session courante, mais nous verrons cela plus tard.

    La meilleure façon de comprendre le mode édition imbriquée est de l'utiliser sur un fichier MPD de taille moyenne. Par exemple, ouvrez le fichier 5510.mpd fourni avec LDCad (en utilisant le menu "File / Example"). Déplacez la souris sur le modèle et vous remarquerez que le pare-choc avant gris et l'arceau noir au-dessus des sièges sont des sous-modèles (leurs noms s'affichent dans la barre de statut). Maintenant passez en mode édition imbriquée et déplacez à nouveau la souris sur ces zones. Cette fois les briques individuelles seront en surbrillance comme n'importe quelle autre brique "normale" du modèle principal. Vous pouvez également les sélectionner et les déplacer comme des briques "normales".

    En mode édition imbriquée toutes les nouvelles briques ajoutés seront par défaut ajoutées au modèle actif, peu importe où vous les placez. Mais il est également possible d'ajouter de nouvelles briques à l'un des sous-modèles au lieu du modèle principal actif. Cela se fait en cliquant sur le texte "Insert into" du panneau session, alors qu'une pièce du modèle cible est sélectionnée. Par exemple, si vous sélectionnez la "Plate 1x8" du pare-chocs avant, puis cliquez sur le texte "Insert into", alors toutes les nouvelles pièces seront ajoutées au sous-modèle "frontBumper.ldr". Vous pouvez le vérifier en affichant ce sous-modèle dans l'éditeur. Pour revenir à l'ajout de pièce dans le modèle principal, assurez-vous que rien n'est sélectionné et cliquez à nouveau sur "Insert into". De façon alternative, une bascule entre mode imbriqué et mode normal réinitialisera également la cible des pièces insérées.

    Une chose qui pourrait être un peu confus, en utilisant le mode édition imbriquée, est de travailler avec des modèles qui utilisent un ou des sous-modèles plusieurs fois (comme l'arbre dans l'exemple du chapitre précédent). Ceci parce que leurs pièces individuelles seront surlignées pour toutes les instances quelque soit la copie sélectionnée (voir ci-dessous). C'est parce que vous manipulez la brique (unique) originale qui est affichée à plusieurs endroits dans le modèle principal. Déplacer ces pièces individuelles peut être un peu déroutant selon l'orientation des références du sous-modèle. Cela vaut également pour l'ajout de briques alors que le modèle cible est un sous-modèle utilisé plusieurs fois, car ces briques ajoutées apparaîtront également sur toutes les autres instances.

    En mode édition imbriquée ce n'est pas sans importance si le modèle utilise un sous-modèle unique ou plusieurs dizaines de sous-modèles, qui eux-mêmes utilisent des sous-modèles. L'ensemble de ces modèles et leurs relations les uns avec les autres s'appelle l'arbre du modèle. Dans cet "arbre" le modèle principal correspond au tronc, les sous-modèles aux branches, et les pièces sont les feuilles. Il y a des moments ou vous souhaiteriez travailler avec un sous-modèle "branche" comme un ensemble tout en conservant le comportement des "feuilles" pour d'autres branches. C'est possible en utilisant "Nesting exclusion". Cette fonctionnalité peut fondamentalement "promouvoir" n'importe quelle feuille en la branche de l'arbre qui l'utilise.

    Par exemple, essayez de déplacer un arbre spécifique dans notre petit exemple de forêt en mode imbriqué et vous trouverez que ce n'est pas possible. On a besoin d'une bascule vers le mode édition normale, qui dans ce cas n'est pas si mal que ça. Mais il y a des moments ou vous souhaiteriez manipuler un sous-modèle dans son ensemble sans quitter le mode imbriqué (par exemple lors de la création de groupes compliqués, ce que nous verrons plus tard). Dans ce cas il vous suffit de sélectionner une brique de l'instance de l'arbre que vous souhaitez déplacer et appuyez sur la touche "E" du clavier ou faire un clic droit pour ouvrir le menu "Selection" et sélectionner "Nesting exclusions / Exclude selection". La brique se désélectionnera mais il vous sera maintenant possible de sélectionner l'arbre dans son ensemble alors que tous les autres arbres utilisent toujours le comportement imbriqué.

    Pour retourner à un arbre totalement imbriqué, assurez-vous que l'arbre est toujours sélectionné et appuyez sur Ctrl+E, ou utilisez "Include selection" dans le menu. Pour effacer toutes les exclusions en une seule fois appuyez sur Maj+Ctrl+E, ou utilisez "Clear exclusions" dans le menu.

    Dernière chose que vous devez maintenant savoir sur l'imbrication est la fonction "Move to current level" (Déplacer vers le niveau courant), accessible depuis le menu "Selection / Reorganize". Cela vous aidera à passer des trucs d'un sous-modèle (utilisé une fois) à un autre sous-modèle (utilisé une fois) sans modifier visuellement le modèle dans son ensemble. Pour faire cela, sélectionnez par exemple la "Plate 1x8" du pare-chocs avant en mode édition imbriquée dans l'exemple 5510.mpd. Puis faites un clic droit dans zone graphique pour ouvrir le menu "Selection" et choisissez "Reorganize / Move to current level". Ceci déplacera la Plate du sous-modèle frontBumper.ldr vers le modèle main.ldr. Vous pouvez vérifier cela en revenant en mode édition normale et en inspectant le modèle frontBumper.ldr. Le niveau courant référencé dans le menu est le modèle actif de "Insert into" que vous avez défini à l'aide du panneau session. Essayez de replacer la Plate 1x8 dans son sous-modèle d'origine en changeant le sous-modèle dans "Insert into" et en réutilisant la fonction "Move to current level".

    Ce qui précède devrait vous éclairer assez sur le mode édition imbriquée de LDCad pour vous mettre à l'aise avec ce mode, mais, comme toujours, il est préférable d'essayer et jouer avec cette fonctionnalité pour la comprendre et la maîtriser complètement.

    Pièces dynamiques

    La bibliothèque LDraw officielle vous propose des milliers de pièces LEGO et elle continue de croître chaque année. Il y a bien une lacune sur certaines de ces pièces, c'est leur représentation statique, non pliable, des pièces dynamiques comme dans la réalité. Cela signifie que des pièces comme les élastiques ne s'étirent pas, qu'on ne peut plier les tuyaux pneumatiques ou compresser les amortisseurs etc. Il y a plusieurs solutions à ce problème, qui se résument généralement à générer des composants personnalisés à l'aide d'outils tiers (souvent très compliqués).

    Pour éviter d'avoir à utiliser ces outils compliqués, LDCad vous propose une collection de générateurs de pièces dynamiques intégrés, qui peuvent être utilisés en temps réel lors de l'édition. Cela signifie que vous pouvez guider par exemple un tuyau pneumatique flexible dans votre modèle tout en visualisant la progression et le résultat en temps réel. Un autre avantage des pièces dynamiques générées par LDCad, c'est qu'elles seront utilisables et visibles dans n'importe quel autre programme de rendu LDraw sans avoir à installer des bibliothèques de composants supplémentaires.

    Il existe actuellement deux types de pièces dynamiques dans LDCad, soit Chemin (Path), soit Ressort (Spring). Il est possible de créer des pièces dynamiques à partir de zéro, mais dans la plupart des cas, il sera préférable d'utiliser un des modèles ou gabarits fournis (Template). Ces gabarits contiennent une situation de départ (un élastique par exemple) que vous pouvez modifier suivant la forme requise par la suite. Chaque pièce dynamique est gérée dans un sous-modèle dédié, donc si jamais vous faites glisser un gabarit dans votre modèle il créera automatiquement un nouveau sous-modèle (dans un fichier MPD par défaut). Par la suite vous pouvez faire ce que vous voulez avec ce sous-modèle car c'est une copie du gabarit original.

    Courroie (élastique)

    Pour voir de quoi je parle, assemblez en premier un simple support avec des roues techniques, auxquelles vous voudriez ajouter un élastique autour (voir image à gauche). Ensuite, recherchez le groupe principal des gabarits dans le panneau pièces (par exemple en utilisant son onglet dédié).

    Pour faire cela accédez à la racine du panneau, puis sélectionnez le sous-groupe "Templates". A l'intérieur vous trouverez une collection de sous-groupes dédiés à certaines catégories générales (comme les pièces pneumatiques ou les amortisseurs etc.). Comme nous avons besoin d'un élastique, choisissez le sous-groupe "Rubber band" représenté par un simple anneau rond (en caoutchouc).
     

    Pour ajouter un élastique à notre modèle vous le faites simplement glisser du panneau pièces, comme n'importe qu'elle autre pièce. Mais, comme l'élastique ne peut pas s'accrocher automatiquement sur les roues, vous devrez utiliser le mode grille pour le placer au bon endroit. Dans notre cas vous le faites en sélectionnant l'une des roues et en définissant la grille pour être dans le plan de la roue comme sur l'image ci-contre.

    Avant de placer l'élastique vous devez également sélectionner une couleur "caoutchouc" dans le panneau couleurs. Vous pouvez le faire à partir du groupe de couleurs "Rubber" (caoutchouc), qui permet d'utiliser la couleur caoutchouc rouge.



    Maintenant, vous faites glisser l'élastique rond dans le modèle, en le plaçant autour d'une des roues. Ne vous inquiétez pas s'il est trop petit ou trop grand.
    Lorsque vous le relâchez, la boite de dialogue ci-contre apparaîtra. Elle demande si vous souhaitez ajouter la nouvelle pièce dynamique comme faisant partie du fichier actuel (MPD) ou faisant partie d'un nouveau fichier. Généralement, vous voulez utiliser l'option MPD par défaut, alors appuyez directement sur le bouton "Select".
    Il en résulte une autre boite de dialogue. Il s'agit d'éditer l'en-tête du nouveau sous-fichier. Vous devez maintenant être familiarisé avec cette boîte de dialogue et renseignez-la comme d'habitude. Quand vous fermez la boite avec le bouton "Ok", le modèle devrait ressembler à l'image de gauche.
    Maintenant que l'élastique est placé, nous pouvons commencer le façonnage de sorte qu'il contourne les trois roues de manière réaliste. Pour ce faire vous devez basculer en mode édition imbriquée. Ceci est nécessaire car nous voulons manipuler les éléments de l'élastique et pas sa localisation globale. Une fois le mode imbriqué actif, vous verrez un grand changement dans la manière dont la bande élastique est affichée, car des "leviers" de contrôle sont maintenant visibles. Pour l'instant l'élastique est sur un "guide" circulaire unique dont vous pouvez contrôler le rayon en faisant glisser l'une des sphères jaunes. Essayez d'agrandir le rayon pour voir ce que je veux dire.

    Lors du redimensionnement du cercle, le rayon courant s'affiche dans la barre de statut. Essayez de le fixer à 30.5 pour le rendre parfaitement conforme à la dimension de la roue. Ensuite nous devons ajouter deux cercles supplémentaires au chemin de la courroie, pour passer autour des deux autres roues. Pour cela, vous devez d'abord sélectionner le cercle guide actuel vers son centre, cependant c'est actuellement un problème car ce centre est caché par la roue elle-même. Vous pouvez résoudre ce problème en masquant temporairement la roue (Hide) ou en éditant la courroie elle-même (à partir du groupe MPD "File content" du panneau pièces discuté ci-dessus).

    Profitons de cette situation pour introduire la fonction masquage de pièce, car elle est très facile à utiliser. Sélectionnez la roue et appuyez sur la touche "H", cela permet de masquer la roue et de faire apparaître la partie centrale du cercle guide.

    Maintenant vous pouvez le sélectionner et ajouter un nouveau cercle guide en appuyant sur la touche "Inser" dans la fenêtre graphique (Assurez-vous que la grille est encore définie correctement). Cela fera apparaître un deuxième cercle que vous placez au centre de la seconde petite roue, puis redimensionnez-la à un rayon de 30.5. Une fois cela fait appuyez de nouveau sur "Inser" et placez le troisième cercle au milieu de la grande roue. Comme elle est plus grande, vous avez besoin de définir le rayon à 47. Vous devriez maintenant avoir quelque chose comme l'image à droite.

    Nota : Si la courroie se croise, il faut retourner le cercle guide, soit avec l'outil de manipulation en mode rotation, soit avec le menu contextuel "Selection / Properties" et en changeant le sens dans le champ "Direction".

    Nous avons fini d'ajouter des cercles, alors il faut faire réapparaître la première roue masquée en appuyant sur Ctrl+H pour annuler la dernière action de masquage. C'est tout et votre courroie est prête pour l'inspection à son état neutre en passant en mode édition normale pour cacher les outils de contrôle du chemin, comme dans l'image à gauche.

    Tuyau pneumatique

    Comme vous pouvez le voir ajouter un élastique à un modèle n'est pas si difficile. Il en va de même pour toutes les autres pièces dynamiques qui suivent un "chemin". Elles sont appelés "pièces à chemin" car elles sont toutes composées d'un élément qui suit un chemin passant autour ou à travers un certain nombre de points de contrôle. L'exemple de la courroie, sur laquelle nous avons travaillé utilise uniquement les points de contrôle circulaires, mais travailler par exemple avec un tuyau pneumatique est très similaire. La seule différence est que les leviers de contrôle dans cette pièce sont utilisés pour modeler la courbe du tube entre deux points. Pour mieux comprendre cela créez un modèle pneumatique très simple, quelque chose comme le modèle à gauche.

    Quand c'est fait, affectez par exemple la couleur caoutchouc noir comme couleur courante et ajoutez un nouveau tuyau pneumatique en sélectionnant son gabarit dans le groupe des modèles "Pneumatic" (un niveau vers le haut du groupe "Rubber band"). Tandis que l'accrochage pièce est activé, les extrémités du tuyau du gabarit seront alignées sur les tiges des connecteurs pneumatiques (Vous devrez peut-être faire pivoter tout d'abord le tuyau à l'aide des touches fléchées). Utilisez l'accrochage pièce pour connecter l'extrémité du tuyau le plus proche de votre curseur de la souris sur le connecteur supérieur. Quand c'est fait relâchez le bouton de la souris, ce qui va déclencher à nouveau l'apparition de la boite de dialogue de sous-modèle. Choisissez à nouveau l'option MPD et renseignez la boîte de dialogue suivante de l'en-tête des nouveaux sous-fichiers comme d'habitude.

    Une fois le tuyau placé, se mettre en mode imbriqué. Cela rendra les leviers de contrôle visibles et vous serez en mesure d'acheminer le tuyau vers le deuxième connecteur pneumatique sur son arrière. Pour faire cela, il suffit tout d'abord de prendre l'extrémité libre du tuyau et de la glisser vers le connecteur à gauche, quand il s'enclenche dans le connecteur relâchez la souris et cela provoquera la régénération du tuyau en forme de "S". C'était assez facile, mais le tuyau semble utiliser des angles très aigus, quelque chose qui n'arrivera pas dans la vie réelle. Pour améliorer cela prenez simplement les leviers de contrôle qui sortent de leurs extrémités puis les allonger afin de donner plus d'ampleur aux plis du tuyau. Vous devriez vous retrouver avec quelque chose comme l'image à gauche.

    Le chemin entre deux points de contrôle suit une courbe de Bézier, et les sphères rouges et vertes des points de contrôle servent à influencer le lissage du coude afin d'améliorer la forme. Vous devez simplement les déplacer jusqu'à ce que les choses soient à votre goût. Vous devriez retrouver quelque chose ressemblant à l'image de gauche.

    Passons maintenant à quelque chose de plus compliqué, pour acheminer le tuyau dans le trou de la brique Technic 1x2. Cela peut être fait en ajoutant un ou deux points de contrôle supplémentaires. Vous pourriez ajouter un seul point dans le centre du trou ou en mettre un de chaque côté du trou. La dernière solution permettra des cassures plus nettes sans avoir à vous soucier du tuyau passant dans la partie solide de la brique. Donc ajoutons-en deux car ce n'est vraiment pas beaucoup plus de travail.

    Tout en restant en mode imbriqué, sélectionnez l'extrémité supérieure du tuyau. Assurez-vous que la grille d'édition est réglée en vue de dessus afin que nous puissions déplacer le point à côté de celui sélectionné. Maintenant, appuyez sur la touche "Inser". Cela va ajouter un nouveau point de contrôle pour le tuyau, le mettre quelque part à gauche et devant celui sélectionné. Le tuyau peut sembler un peu "froissé", mais ne vous en inquiétez pas. Il semble froissé car le point a le même sens que celui que vous avez utilisé pour l'ajouter (il guide le tuyau vers vous), alors que le prochain point est de l'autre côté. Pour éviter cela nous devons changer la direction du nouveau point de contrôle pour que le tuyau s'éloigne de vous. Cela s'effectue simplement en le tournant de 180 degrés. Après cela, vous devriez avoir quelque chose qui ressemble à l'image de gauche. Vous avez peut-être remarqué que la direction d'un point de contrôle est indiquée par les deux sphères et que le tuyau est toujours tangent à cette direction en passant du rouge au vert.

    C'est bien d'avoir un point de contrôle flottant en l'air, ce qui est excellent pour la mise en forme d'un tuyau en général, mais dans notre cas il faut le faire passer dans le trou. Pour cela nous avons besoin de placer le point de contrôle exactement en face de l'orifice en utilisant une grille d'édition. Une telle situation se prête également pour le mode de projection orthogonal (2D). J'en ai un peu parlé dans le chapitre édition de base. La caméra 2D permet une précision de positionnement beaucoup plus simple.

    Tout d'abord, fixez la grille pour avoir l'axe de l'épingle parallèle au levier rouge du nouveau point de contrôle. Puis on passe en caméra 2D en appuyant sur Maj+V (le "Maj" de cette commande s'assure que le point de vue 2D est au plus près du point de vue 3D courant). Les choses ressembleront à l'image ci-contre. L'épingle aura disparu, mais à sa place un "rectangle d'édition" est maintenant disponible. Ce rectangle peut être utilisé pour déplacer et faire pivoter la sélection de façon similaire à l'épingle. La plus grande différence est qu'il sera toujours affiché au-dessus de tout le reste, même si la sélection est masquée par d'autres pièces.

    Ensuite, il faut passer en grille fine en cliquant sur le texte "10 8" en haut à gauche de la boussole et en sélectionnant "Fine (1;1;1;1)" dans son menu. Ceci est nécessaire car le centre du trou de la brique Technic est hors grille avec la grille par défaut. Ayant fait cela vous pouvez saisir le rectangle d'édition et déplacer le point de contrôle du tuyau, pour qu'il se trouve exactement à l'intérieur du trou de la brique 1x2 comme sur l'image ci-contre. Pour faire cela vous pouvez utiliser la croix centrale du point de contrôle pour vous guider en utilisant un très gros zoom sur la brique. Cela permet de se caler sur la forme polygonale du trou de la brique.
    Les déplacements ci-dessus mettent le point à son emplacement pour 2 des 3 coordonnées mais est encore en dehors pour sa "profondeur". Changeons de vue en mode 2D pour corriger la troisième coordonnée. Pour cela nous avons besoin d'avoir le modèle en vue de dessus (Top). Cela se fait avec la boussole en tournant le gros cube jusqu'à ce que le mot "Top" devienne jaune. Il suffit de saisir le cube avec le bouton gauche de la souris et de faire glisser la souris comme vous contrôlez la caméra en mode "trackball" en vue d'édition 3D. Vous devriez vous retrouver avec une vue comme sur l'image de gauche.
    Avec ce point de vue du modèle, nous pouvons facilement déplacer le point de contrôle vers la plaque jaune pour l'aligner avec le trou en dessous. Comme nous avons seulement besoin de déplacer le point dans un seul sens, au lieu de saisir l'intérieur du rectangle comme précédemment, essayez d'attraper son bord supérieure, cela limitera le mouvement dans une seule direction comme le font les flèches de l'outil de manipulation en vue 3D. Lorsque cela est fait vous pouvez retourner en mode 3D en appuyant sur "V". Les choses doivent maintenant ressembler à l'image ci-contre.
    Nous avons terminé avec le placement de précision, restaurez la grille par défaut en sélectionnant "Normal (10;8;10;10)" dans le menu "Grid" (ou appuyez simplement sur "3" alors que la souris se trouve à l'intérieur de la zone d'édition ou la boussole). Ajouter un deuxième point de contrôle à l'arrière de la brique 1x2 sera beaucoup plus facile maintenant, la première étant placée correctement. Il suffit de changer de point de vue sur le modèle pour que le dessous soit bien visible. Puis mettre la grille en mode haut/bas et appuyez sur "Inser", tandis que le dernier point ajouté est toujours sélectionné. Cela le dupliquera et vous pourrez placer le nouveau point de l'autre côté du trou. Cela doit ressembler à la photo à gauche.
    Vous avez maintenant fini le cheminement du tuyau. Une seule chose reste à faire, c'est de lisser ses courbes en ajustant la longueur des leviers vert ou rouge jusqu'à ce que la forme générale et la longueur du tuyau soient bonnes. Ensuite, en mode édition normal, il devrait ressembler à l'image ci-contre.

    En utilisant les techniques de manipulation, vus dans ces deux derniers chapitres, vous serez en mesure d'acheminer tout type de tuyau dans vos modèles. Ceci parce que ces techniques ne s'appliquent pas seulement aux tuyaux pneumatiques, elles fonctionneront avec n'importe lequel des gabarits ayant une fonction chemin. Vous pouvez même combiner les points de contrôle circulaires de l'élastique et les points de passage de ce chapitre si nécessaire. Cela peut être fait en changeant le type de point à l'aide de la boîte de dialogue des propriétés du point. Vous l'ouvrez en appuyant sur "Entrée", tandis qu'un point est sélectionné, ou en cliquant sur le petit panneau coordonnées.

    Une dernière chose que je voudrais ajouter en conclusion, est de toujours garder un œil sur les petits référentiels au centre des points de contrôle car ils ont une certaine importance. Il suffit de juste regarder de plus près l'un d'entre eux, et vous remarquerez qu'ils sont en fait composés de deux flèches. Les flèches indiquent le "roulis" ou torsion transversale que vous devez garder similaire au précédent point du chemin. Si la différence de torsion entre deux points est trop grande, cela peut provoquer des sauts bizarres ou torsions disgracieuses dans l'apparence du tuyau.

    C'est tout pour la fonction chemin des pièces dynamiques, ne vous inquiétez pas si certaines choses sont encore floues, vous en saurez de plus en plus juste en utilisant cet exemple. Vous pouvez aussi pratiquer un peu plus avec d'autres modèles simples, en essayant d'acheminer des tuyaux de différentes façons autour ou à travers eux.

    Amortisseur

    Les pièces dynamiques discutées précédemment sont toutes basées sur un chemin, mais LDCad offre aussi celles basées sur la fonction ressort. Par rapport aux pièces à chemin ces pièces ressort sont beaucoup plus faciles à former. Pour démontrer cela, utilisons une pièce ressort dans un exemple réel. Comme les ressorts servent souvent combinés aux amortisseurs Technic, configurons un système minimaliste de suspension semblable à celle utilisée dans le modèle exemple 8845.mpd.

    Tout d'abord, permettez-moi de dire, qu'il n'est pas toujours nécessaire d'utiliser dans vos modèles des amortisseurs dynamiques, de nombreux modèles seront très bien en utilisant les pièces statiques officielles tant qu'elles peuvent être utilisées avec leur longueur prédéfinie. Mais quand vous avez besoin d'un amortisseur en position légèrement compressée (résultant par exemple de poids du modèle) il est bon de savoir que les pièces dynamiques sont là pour être utilisées à travers une sélection de gabarits. Naviguez vers le groupe des gabarits amortisseurs dans le panneau pièces en cliquant à partir de la racine sur les sous-groupes "Templates" et "Shocks" dans l'onglet de votre choix.

     

    Ensuite, construisons une structure simple pour montrer comment ajouter un amortisseur un peu compressé à ce modèle. Quelque chose comme l'image à gauche doit être suffisamment claire. Elle utilise deux barres (Technic Beam) à 7 trous et celle du bas a une rotation de 15 degrés en commençant par sélectionner la goupille extrême et avec un Ctrl+Clic de la souris sur la barre et la goupille centrale, ce qui assure d'avoir la première goupille comme point de rotation pour toutes les pièces de la sélection.
    Maintenant, nous ajoutons un amortisseur 6.5 L gris à l'aide de son gabarit. Vous pouvez sélectionner d'abord la goupille ou la barre du haut pour s'assurer que l'orientation de la nouvelle pièce sera neutre. De façon alternative, vous pouvez également appuyer sur la touche "Début" (home) tout en faisant glisser l'amortisseur dans le modèle. Placez le nouvel amortisseur de façon à avoir son côté gris connecté à la goupille supérieure comme sur la photo ci-contre.
    Le problème suivant à résoudre est de pointer l'amortisseur vers la deuxième goupille tout en ignorant sa longueur pour l'instant. Pour ce faire, vous devrez trouver le bon angle pour faire pivoter l'amortisseur. Alors qu'à l'école vous aviez peut-être pensé quand aurais-je le besoin de ce truc de trigonométrie, bien deviner quoi... ça y est c'est maintenant :). Heureusement, LDCad propose des outils pour vous aider à faire les calculs nécessaires. Pour ce faire vous avez besoin d'une assistance en ajoutant une goupille temporaire à l'autre extrémité de l'amortisseur. Dans la pratique, il est préférable d'utiliser des pièces bizarrement colorées dans de tels cas, par exemple en rose, donc elles seront facilement reconnaissables comme étant temporaires.

    Ensuite, nous utilisons la fonction "Selection info" (info sur la sélection) pour obtenir tous les angles d'un triangle fait à partir de ces trois axes. Pour faire ceci sélectionnez les trois goupilles en commençant par la rose dans le sens horaire ou antihoraire en utilisant le Ctrl+Clic à la souris. Si l'épingle d'édition vous gêne lors de la sélection, vous pouvez la désactiver en appuyant sur "P". Après cela, cliquez sur le bouton droit de la souris pour ouvrir le menu "Selection" puis "Selection info", puis vérifiez ou changez pour avoir "Show info" sur "(Yes)", "Show distance" sur "(No)" et "Show angles" sur "(Yes)". Tout cela se traduira par quelque chose comme l'image ci-contre.

    Comme vous pouvez le constater facilement vous obtenez l'angle nécessaire (12,99 degrés) pour aligner l'amortisseur avec l'axe de la goupille cible. Vous pouvez utiliser cet angle comme affiché, mais étant un perfectionniste, moi je préfère utiliser la valeur avec davantage de chiffres pour éviter un décalage minuscule par la suite. Pour obtenir la valeur exacte, cliquez sur l'étiquette affichant la valeur de 12.99 pour mettre la valeur calculée réelle dans le presse-papier et pouvoir la coller ultérieurement (au préalable, vous pouvez épingler le menu précédent pour l'empêcher de se fermer). Maintenant, que nous avons l'angle, recliquez sur "Show info" pour le passer à "(No)" et l'affichage revient à la normale. Fermez le menu, supprimez la goupille rose et éventuellement réactivez l'épingle d'édition en appuyant à nouveau sur "P".

    C'est génial, nous avons maintenant l'angle de rotation, mais il est impossible d'utiliser directement le disque de rotation de l'épingle. Vous devez entrer l'angle manuellement pour faire une rotation de précision. Cela peut être fait à l'aide de la boîte de dialogue "Manual rotation" (rotation manuelle) qui peut être ouvert en cliquant sur l'icône alors que l'amortisseur est sélectionné. Alternativement, vous pouvez également utiliser le bouton central de la souris pour cliquer sur le disque de rotation de l'épingle. De toute façon cela ouvrira la boîte de dialogue ci-contre.

    Cette boîte de dialogue vous permet de faire pivoter la sélection à l'aide de plusieurs méthodes (angle de rotation normale, vecteur de rotation, matrice de rotation, etc.). La méthode de rotation peut être sélectionnée avec le menu déroulant en haut de la boite de dialogue. Mais, pour cette rotation, la méthode par défaut sera très bien. Entrez -12.99420 (ou utilisez le collé du presse-papier en ajoutant le signe moins) dans le champ "Angle" et appuyez sur "Entrée" ou cliquez sur "Accept". Ceci alignera parfaitement l'amortisseur. Vous devez utiliser -12.99420 et non 12.99420 à cause de la grille qui est antihoraire lorsque l'axe perpendiculaire à la grille pointe vers vous comme l'axe rouge (X+) le fait dans notre cas sur la boussole. C'est peut-être un peu confus, donc en pratique essayez l'angle tel quel et si cela s'avère faux, annulez avec Ctrl+Z et essayez à nouveau avec la même valeur en négatif.

    Maintenant que l'amortisseur est aligné avec l'axe de la goupille cible, il n'est pas encore connecté avec elle car il est encore trop long. Donc la prochaine étape que nous devons faire c'est de le mettre à la bonne longueur. Pour ce faire nous devons tout d'abord revenir mode imbriqué pour pouvoir manipuler les extrémités du ressort individuellement. Une fois le modèle en mode imbriqué et l'accrochage pièce actif, vous pouvez vous "saisir" de l'extrémité noire de la "clipser" sur la goupille du bas. Mais cela pas toujours possible selon les pièces utilisées, donc voyons aussi la manière sans accrochage. Si vous avez déjà utilisé la méthode accrochage, il suffit de l'annuler en appuyant sur Ctrl+Z.

    Mettre l'amortisseur dans la bonne position en utilisant juste la grille par défaut semble très compliqué, car il est actuellement hors pas de la grille, et il est impossible de le déplacer en ligne droite suivant son axe. A la suite d'un tel déplacement l'amortisseur va sembler cassé de manière irréaliste. Essayez juste de la faire (avec les flèches de l'épingle d'édition afin d'éviter l'accrochage pièce) pour voir ce que je veux dire. Ne vous inquiétez pas, vous pouvez annuler (Ctrl+Z) à nouveau par la suite.

    Cela devrait être un problème familier si vous vous souvenez de la section du chapitre édition de base sur l'utilisation de la grille relative. Heureusement la grille relative peut également être utilisée combinée avec le mode imbriqué. Sélectionnez donc l'extrémité grise de l'amortisseur et appuyez sur "O" pour changer l'orientation de la grille. Cela entraînera l'épingle d'édition à basculer sur le côté car l'orientation des amortisseurs est très différente. Il suffit de compenser cela en changeant le sens de la grille dans la boussole de façon à ce que l'axe pointe à nouveau vers vous. Nous devons déplacer l'extrémité noire de l'amortisseur, donc sélectionnez-la et changez l'épingle pour passer en mode déplacement (flèches).

    Également, à la suite du passage en grille relative, le trou du haut de l'amortisseur et la goupille seront désormais le point d'origine (0,0,0) de la grille, ce qui signifie que la valeur Y sur le panneau coordonnées X,Y,Z est identique à la longueur de l'amortisseur. Par conséquent, tout ce que nous avons besoin maintenant est la longueur exacte de l'amortisseur compressé. Ceci peut être obtenu en utilisant "Selection info" encore une fois. Pour cela, sélectionnez les deux goupilles beiges auxquelles l'amortisseur se connecte, puis rouvrir le menu "Selection info". Mais, cette fois mettre "Show distance" sur "(Yes)" pour afficher la distance et "Show angles" sur "No" pour réduire l'encombrement (même si ici cela ne sert à rien). Ceci vous donne une longueur utile de 98.04. Cliquez sur l'étiquette pour enregistrer la valeur exacte et arrêtez à nouveau l'affichage des infos sur la sélection avec "Show info" sur "(No)".

    Au lieu d'utiliser les infos de la sélection, vous pourriez également juste sélectionner la goupille inférieure dans ce cas particulier pour obtenir sa coordonnée "Y" (comme illustré dans l'image à gauche) correspondant à la bonne distance, car elle est déjà à la bonne place, et en raison de l'origine de la grille relative active et la configuration de l'amortisseur lui-même. La seule différence serait la précision, mais cela compterai moins sur des manipulations de déplacement.
    Maintenant que vous savez la longueur requise de 98.04 environ, sélectionnez la partie noire de l'amortisseur et ouvrez la boite de dialogue de déplacement manuel à l'aide de l'icône ou avec le bouton central de la souris en cliquant sur les flèches de l'épingle d'édition. Ceci ouvrira la boite de dialogue ci-contre.
    Utilisez cette boîte de dialogue pour changer la coordonnée Y de l'extrémité de l'amortisseur manuellement à 98.04, ou plus exactement à 98.03790 avec Ctrl+V puis appuyez sur la touche "Entrée" ou cliquez sur le bouton "Accept" de la boite.

    Cela régénérera le ressort et ainsi tout s'aligne correctement. Cela marque également la fin de l'ajout d'un amortisseur au modèle, la seule chose restant à faire est de nettoyer l'espace de travail. Pour cela, désélectionnez tout à l'aide de la touche "Echap" et appuyez sur "O" pour remettre la grille dans l'espace absolu. Vous pouvez également revenir en mode édition normale afin de voir la version "propre" de l'amortisseur. Les choses doivent ressembler à l'image ci-contre.

     

    Tutoriel : Générer un panneau pièce de Set personnalisé (par Trevor Sandy)

    Ce tutoriel est la traduction du message de Trevor Sandy sur le forum LDraw.org : Generate custom LDCad set part bin.

    Ce tutoriel montre comment générer un panneau pièce personnalisé pour LDCad en utilisant mon (dixit l'auteur) utilitaire BrickUtils.

    Vous pouvez télécharger BrickUtils2.5.exe ou l'archive BrickUtils2.5.jar BrickUtils.

    Un Set est défini comme l'ensemble des pièces nécessaires pour numériser un modèle.

    Un panneau pièce de Set contiendra les pièces du Set Lego et éventuellement la quantité de chaque pièce.

    Cette exemple utilise le Set Technic Lego 42046 - La voiture du fuyard.

    Vous pouvez également télécharger l'archive de l'exemple 42046-01.zip.

    Etape 1 : Inventaire du Set

    Télécharger le fichier xml du Set sur Bricklink Set.

    1. Etre sûr de cocher le bouton "Inventory".
    2. Sélectionner "Set" dans le menu déroulant sous "Inventory".
    3. Entrer le numléro du Set dans le champ "Item No" en ajoutant le suffixe "-01" (exemple : 42046-01).
    4. Sélectionner "XML" dans le menu déroulant sous "Download Format".
    5. Cliquer sur "Download" et enregistrer le fichier "S-42046-01.xml".
    6. Renommer le fichier "S-42046-01.xml" en "42046-01.xml".

    Etape 2 : Image du Set

    Aller sur la recherche d'images de Google.

    1. Entrer dans le champ de recherche "Technic 42046.png".
    2. Sélectionner une image. C'est mieux si elle a un fond transparent.
    3. Sauvegarder le fichier en le nommant "42046-01.png".

    Etape 3 : Importer l'inventaire dans BrickUtils

    Importer 42046-01.xml dans BrickUtils.

    1. Cliquer le bouton "Import bricks" (second bouton) et sélectionner "Bricklink XML dump".
    2. Sélectionner le fichier 42046-01.xml sur votre disque.
    3. Valider l'importation.
    4. Une fenêtre "Imported brick list" s'affiche.

    Etape 4 : Configurer l'inventaire dans BrickUtils

    1. Valider la fenêtre "Imported brick list" en cliquant sur "OK". La fenêtre "Define brick list data" s'affiche.
    2. Pour définir les attributs du Set, cliquer sur le bouton "Search". La fenêtre "Search in Bricklink set database" s'affiche.
    3. Entrer "42046" dans le champ "By set #" et cliquer sur "Search" à droite du champ.
    4. Sélectionner une des lignes disponibles au-dessus et cliquer sur "OK".
    5. Dans la fenêtre principale, onglet "Working List", supprimer les pièces supplémentaires (extra parts) qui sont cochées dans la colonne "Extra" et également la feuille d'autocollant (Sticker) en sélectionnant ces lignes et en cliquant sur le bouton "Delete selected brick(s)".

    Etape 5 : Vérifier les pièces LDraw manquantes dans l'onglet "Part Mapping" (si besoin)

    Liste des numéros de pièce LDraw manquants.

    1. Les pièces n'ayant pas de correspondant LDraw sont automatiquement transférés dans l'onglet "Part Mapping".
    2. Supprimer la feuille d'autocollant.
    3. Rechercher les pièces équivalentes dans la bibliothèque LDraw avec le bouton "Search in LDraw part library".
    4. Ajouter les pièces trouvées dans "Part Mapping".

    Etape 6 : Valider la liste

    1. Vérifier qu'il n'y a plus de pièces LDraw manquantes.

    Etape 7 : Générer et installer le fichier .pbg

    Générer le fichier du panneau pièce de Set (.pbg).

    1. Exporter le fichier avec le menu "LDCad Parts-bin Set" du bouton "Export bricks".
    2. Cocher l'option "Include quantity", si vous voulez voir la quantité de chaque pièce utilisé dans le panneau pièce de LDCad, puis valider par "OK".
    3. Sauvegarder le fichier sous le nom "42046-01.pbg".
    4. Confirmer les messages de sauvegarde.
    5. Ouvrir le fichier "42046-01.pbg" dans un éditeur de texte et vérifier le nom de l'image à la ligne "picture=" (dans notre exemple : 42046-01.png).
    6. Copier les fichiers "42046-01.pbg" et "42046-01.png" dans le dossier ".\LDCad\partBin\default\sets".
    7. Lancer LDCad et dans le panneau pièces aller dans "Part Listings of Lego Sets/Parts in the 42046-01 set".

    Nota : La syntaxe .pgb pour ajouter des pièces "template" s'écrit :
    - wheel_15038+44771.ldr:[sourceInv=templates] [color=0]
    - path\technicFlexAxle.ldr:[sourceInv=templates] [color=0]
    - shortcut\hinge_2429+2430.ldr:[sourceInv=templates] [color=72]

    Etape 8 : Créer votre modèle

    Créer votre modèle LDraw sous LDCad en suivant l'ordre de montage du manuel (papier ou numérique).

     

    Tutoriel : Générer un panneau pièce de Set personnalisé (par Orion Pobursky)

    Ce tutoriel est la traduction du message d'Orion Pobursky sur le forum LDraw.org : LDCad Set Inventory PBG file generator.

    Je (dixit l'auteur) me suis ennuyé et codé un générateur pour faire un fichier .pbg à partir d'un inventaire BrickLink.

    C'est très basique. Il convertit les couleurs BL en couleurs LDraw, mais ne fait pas la validation des numéros de pièces. Je peux l'améliorer et dans ce cas je le mettrais sur le site LDraw.org.

    Vous pouvez trouver le convertisseur en ligne ici :
    http://www.pobursky.com/pbggen/pbggen.html

    Vous pouvez télécharger les inventaires de Set sur BrickLink ici :
    https://www.bricklink.com/catalogDownload.asp

    Nota : Mon générateur fonctionne uniquement avec les fichiers comportant des tabulations comme séparateurs ("Tab-Delimited File" dans le champ "Download Format" de la page BrickLink), et non avec les fichiers XML.

    Nota 2 : Voir le tutoriel précédent (dixit l'auteur de cette page) pour installer et utiliser le fichier .pbg généré, après l'avoir édité pour valider son contenu.

     

    Tutoriel : Fermer un triangle

    Voici un petit tutoriel de Philo (Philippe Hurbain), suite à une demande de Jaco van der Molen, pour orienter des poutres Technic et ainsi fermer un triangle. Voir origine du message : Calculate Angles (in LDCad) (en Anglais).

     

    Tutoriel : Créer un terrain 3D

    Voici un petit tutoriel de Roland Melkert amélioré par Jaco van der Molen, pour créer un terrain 3D. Voir origine du message sur le forum LDraw.org : Heightmap to brick converter? (en Anglais).

    Exemple de Roland Melkert

    Tableau 3x3
    mis dans le script
    Résultat

    Exemple de Jaco van der Molen

    Utiliser en premier le tableau Excel "genHeightMap.xlsx" pour entrer les hauteurs de chaque parcelle du terrain. L'exemple donne un terrain de 9x9 tenons.

    Copier le tableau "ARRAY" dans le script "generate.lua", une première fois pour la hauteur et une seconde fois pour la couleur de chaque parcelle.

    Placer le script "generate.lua" dans le dossier "scripts / tchang / global".
    Nota : suivant votre version de programme le dossier "scripts" se trouve dans le dossier d'installation de LDCad ou dans votre dossier personnel. Voir : . Naturellement le sous-dossier "tchang" peut être remplacé par tout nom à votre convenance.

    Lancer le script dans un modèle vide avec le menu "scripts / generate / Gen Heightmap".
    Le résultat s'affiche :

    Exemple de Roland Melkert utilisant l'algorithme Diamant-Carré

    Mettre "landscape.lua" dans le dossier "scripts/tchang/global" et "heightmap.lua" dans "scripts/default/modules".

    Nota : Le fichier "heightmap.lua" a été développé par (C) Marc Lepage en 2011 et modifié par Roland Melkert en 2018 pour l'adapter au langage lua v5.3. Pour la méthode utilisée, voir : Algorithme Diamant-Carré.

    Modifier "config/main.cfg" en mettant la valeur 2000 au paramètre "maxExecTime" (C'est la valeur maximale acceptée en version 1.6. Cette limite sera supprimée dans la prochaine version).

    Ouvrir un fichier vierge dans LDCad, puis lancer le script avec le menu : "Scripts / landscape / Deph map".


    Résultat avec un ordinateur rapide. Sur mon ordinateur le script s'arrête un peu avant la fin.

    On peut modifier les paramètres de "hMap.create" dans "landscape.lua" pour changer la taille du terrain carré. La valeur du côté doit être une puissance de 2.

     

    Menus

    Les 6 menus principaux s'affichent en haut à gauche de l'écran. Les autres menus sont généralement accessibles dans leur arborescence ou dans des menus contextuels. Les menus contextuels dépendent de l'endroit ou se trouve le curseur et du mode courant, et s'affichent en cliquant avec le bouton droit de la souris.

    Dans les menus une commande peut s'afficher en jaune lorsque c'est la commande active.

    Dans les menus s'affiche à droite en vert le raccourci clavier correspondant à la commande. Une flèche verte s'affiche lorsque la commande ouvre un sous-menu.

    En dehors des menus affichés par défaut dans la barre de menus, il est possible d'en ajouter ou d'en enlever, voir le chapitre "Paramétrage des menus".

    Dans chaque menu, vous pouvez utiliser les boutons :

    Main menu (Menu principal)

    Ce menu s'affiche en cliquant sur le bouton "menu principal" des autres menus.

    File (Menu fichier)

    Ce menu s'affiche en cliquant sur le menu "File".

    Session (Menu session)

    Ce menu s'affiche en cliquant sur le menu "Session".

    View (Menu visualisation)

    Ce menu s'affiche en cliquant sur le menu "View".

    Select (Menu sélection)

    Ce menu s'affiche en cliquant sur le menu "Select", ou avec le bouton droit de la souris dans la zone graphique avec "Edit / Select".

     

    Scripts (Scripts)

    Ce menu s'affiche en cliquant sur le menu "Scripts".

    Preferences (Prefs) (Menu préférences)

    Ce menu s'affiche en cliquant sur le menu "Prefs".

    Color bin (Options du panneau couleurs)

    Ce menu s'affiche en cliquant sur le menu "Main menu / Color bin", ou avec le bouton droit de la souris dans la zone de sélection des couleurs.

    Part bin (Options du panneau pièces)

    Ce menu s'affiche en cliquant sur le menu "Main menu / Part bin", ou avec le bouton droit de la souris dans la zone de sélection des pièces.

    Source (Options du panneau code source)

    Ce menu s'affiche en cliquant sur le menu "Main menu / Source", ou avec le bouton droit de la souris dans la zone d'affichage du code source.

    Edit (Edition)

    Ce menu s'affiche en cliquant sur le menu "Main menu / Edit", ou avec le bouton droit de la souris dans la zone graphique.

     

    Barre d'outils

    La barre d'outils s'affiche en haut de la fenêtre et permet d'accéder directement aux principales fonctions de LDCad.

    Nota : Les boutons de la barre d'outils décrits ci-dessous sont ceux affichés par défaut. Il y a de nombreux autres boutons disponibles, voir le chapitre "Paramétrage de la barre d'outils" pour les ajouter.

     

    Raccourcis clavier et souris

    Globales :

    Session :

    Menus :

    Boites de dialogue :

    Panneau couleurs :

    Panneau pièces :

    Fenêtre d'édition graphique :

     

    Méta-commandes LDCad

    Ce sont des lignes de commandes spécifiques à LDCad qui sont ajoutées dans le fichier LDraw pour un usage spécifique à LDCad et qui sont interprétées généralement comme commentaires par les autres programmes utilisant le système LDraw.

    Voir la page : LDCad metas (en Anglais), pour avoir la syntaxe complète de ces méta-commandes.

    Règles et syntaxe

    La valeur des options peut avoir de nombreux types.

    Type Défaut Description
    float 0.0 Nombre non entier utilisant toujours le caractère "." comme séparateur décimal, quelque soit le réglage du pays dans le système.
    integer 0 Nombre entier.
    boolean false Doit être true (vrai) ou false (faux).
    string   texte libre. Accepte tout caractère sauf les sauts de ligne et les caractères "[" et "]".
    enum   Doit être l'une des courtes chaines de caractères de la collection dépendant de la méta-commande l'utilisant.
    ldrawRef   Référence à un autre fichier LDraw utilisant la méthode de recherche/emplacement LDraw normale. LDCad convertira automatiquement les caractères "\" ou "/" du chemin du fichier, suivant le système utilisé, mais il est toujours préférable d'utiliser le caractère "\".
    ldrawColNr 16 Entier non signé sur 32 bits indiquant le numéro d'une couleur LDraw.
    relFileName   Un nom de fichier relatif à l'emplacement du fichier LDraw le contenant. LDCad convertira automatiquement les caractères "\" ou "/" du chemin du fichier, suivant le système utilisé. Une variante spécifique pourrait être forcée cependant à la sauvegarde (par exemple pour les fichiers LDraw).
    unit 0

    Flottant avec indication optionnelle d'unité. Si aucune unité n'est spécifiée, l'unité LDraw est utilisée sauf indication contraire. Les unités supportées sont :
    mm : millimètre
    %: un pourcentage d'une autre valeur. Ne peut être utilisé que si la valeur de la propriété le permet. Si oui, il faut aussi décrire quelle valeur le pourcentage affecte.

    typeName array n type par défaut Nombre N de valeurs séparées par un espace " ". Les tableaux sont souvent utilisés pour charger un nombre fixe d'options en une seule fois. L'ordre des valeurs peut donc être très précis.
    typeName list n type par défaut Nombre N de valeurs séparées par une virgule ",". Pas de réelle différence avec les valeurs des tableaux précédents, sauf que chaque valeur dans la séquence est considérée comme un enregistrement indépendant, ainsi la suppression de toute valeur ne change pas la signification de la valeur combinée.
    LDraw matrix 0 0 0 1 0 0 0 1 0 0 0 1 Notation de position LDraw et matrice de transformation 3x3 utilisé pour construire une matrice 4x4.
    3x3 matrix 1 0 0 0 1 0 0 0 1 Matrice de transformation 3x3 dans le même ordre que les neuf derniers nombre d'une référence LDraw (la matrice de transformation gère l'orientation, l'échelle, la symétrie et la déformation).
    vector 0 0 0 Valeurs flottantes X, Y et Z utilisées comme vecteur.

    Méta outil d'aide

    Méta 0 !LDCAD MARKER

    Les marqueurs peuvent être utilisés pour aider à aligner des choses de formes bizarres. Vous pouvez également les utiliser pour vous aider dans la rotation d'une sélection.

    Exemple
    0 !LDCAD MARKER [posOri=-50 -24 0 1 0 0 0 1 0 0 0 1] [lengths=30 30 30 30 30 30]

    Propriétés
    Propriété Type Défaut Description
    posOri LDraw matrix   Matrice de position et transformation
    lengths integer array 30 30 30 30 30 30 nég x, pos x, nég y, pos y, nég z et pos z des longueurs d'axe.
    isTemp boolean false si vrai (true) le marqueur sera automatiquement supprimé lors de la prochaine sauvegarde.
    name string   Nom optionnel pour ce marqueur.

    Métas de groupes

    LDCad supporte le groupement d'entités LDraw imbriqué de façon récursive. Cela signifie que vous pouvez créer des groupes de pièces et d'autres groupes, même si elles sont réparties entre plusieurs fichiers LDraw (utilisés de manière récursive). Pour rendre cela possible, LDCad utilise plusieurs méta-commandes de regroupement dans les modèles utilisant des groupes.

    Méta 0 !LDCAD GROUP_DEF

    Cette méta-commande définit la présence d'un groupe à l'intérieur d'un fichier LDraw. Chaque groupe doit avoir une méta-commande de définition dans chaque fichier LDraw contenant des éléments membres du groupe. Cette méta-commande doit être utilisée uniquement dans l'entête des fichiers LDraw.

    Exemple
    0 !LDCAD GROUP_DEF [topLevel=true] [LID=0] [GID=EjSe9B4luQa] [name=Group 1] [center=0 12 0]

    Propriétés
    Propriété Type Défaut Description
    topLevel boolean true Indique si c'est, ou non, un groupe de premier niveau du fichier LDraw.
    LID integer 0 Nombre entier pour identifier de façon unique cette définition de groupe dans le fichier LDraw. Il est utilisé pour garder une référence courte aux objets (par exemple dans les lignes GROUP_NXT) et éviter d'utiliser l'identifiant GID complet de nombreuses fois.
    GID string   Pseudo identifiant unique global du groupe LDCad défini par cette méta-commande. Cet identifiant doit être globalement unique sachant que les groupes peuvent être répartis entre plusieurs fichiers.
    name string Group n L'utilisateur fourni le nom du groupe, qui doit être unique parmi tous les groupes de premier niveau dans le fichier LDraw. Par défaut il sera généré comme "Group 1", "Group 2", etc. Utilisé uniquement si topLevel est déclaré "true".
    center vector   Centre relatif à utiliser pour ce groupe. Utilisé uniquement si topLevel est déclaré "true".

    Méta 0 !LDCAD GROUP_NXT

    Cette méta-commande est utilisée pour indiquer que la ligne LDraw qui suit cette méta-commande doit être ajoutée à un ou plusieurs groupes LDCad. Si la ligne suivante n'est pas prise en charge par un groupe LDCad cette méta-commande sera ignorée.

    Exemple
    0 !LDCAD GROUP_NXT [ids=0] [nrs=2]

    Propriétés
    Propriété Type Défaut Description
    ids integer list   Référence LID pour la définition du groupe local dont la ligne qui suit est membre.
    nrs integer list   L'index de cet item à l'intérieur de la liste des membres du groupe référencé pour chaque valeur de cette liste. Ces index sont seulement utilisés pour le tri durant le chargement, de sorte que les nombres utilisés peuvent être différents à la prochaine sauvegarde. Devrait avoir le même nombre d'éléments que la propriété "id".

    Méta 0 !LDCAD GROUP_OBJ

    La méta-commande objet de groupe est utilisée pour grouper le contenu spécifique LDCad non sauvegardé (comme par exemple les points de début et de fin de chemin). Il est presque identique à la méta-commande GROUP_NXT mais ne doit être utilisée que dans l'entête des fichiers LDraw.

    Exemple
    0 !LDCAD GROUP_OBJ [ids=0] [nrs=2] [refName=Path start]

    Propriétés
    Propriété Type Défaut Description
    ids integer list   Voir : GROUP_NXT
    nrs integer list   Voir : GROUP_NXT
    refName enum   Nom de l'objet référencé.

    Métas de gestion de contenu

    LDCad maintient un certain nombre de méta-commandes pour garder une trace des informations spécifiques à LDCad à l'intérieur du fichier LDraw.

    Méta de script (0 !LDCAD SCRIPT)

    La méta-commande de script est utilisée pour lier un fichier script lua dans un fichier LDraw. Cette méta-commande ne doit être utilisée que dans l'entête du fichier ou d'un sous-fichier, et actuellement une seule instance est autorisée par sous-fichier.

    Exemple
    0 !LDCAD SCRIPT [source=5580.lua]

    Propriétés
    Propriété Type Défaut Description
    source relFileName   Nom de fichier relatif du fichier script lua que vous souhaitez utiliser avec ce modèle.

    Méta de contenu (0 !LDCAD CONTENT)

    La méta-commande de contenu est utilisée pour informer LDCad qu'il doit traiter le contenu du sous-fichier LDraw d'une manière spéciale, non graphique. Cette méta-commande liste les propriétés dépendantes du type de contenu, indiqué par la propriété type. Elle doit être utilisée dans l'entête.

    Exemple
    0 !LDCAD CONTENT [type=path] [addFallBack=default] [looped=false] [displayKind=mm] [curveStep=0] [displayLenCor=0]

    Propriétés
    Propriété Type Défaut Description
    type enum   Le type de contenu doit être path ou spring.
    addFallBack enum  

    Doit être une des valeurs suivantes :
    default : Utiliser le contenu ou emplacement du fichier dépendant par défaut.
    never : Ne pas ajouter ou supprimer du contenu vers ou venant du fichier.
    always : mise-à-jour ou ajout de code alternatif à chaque sauvegarde du fichier. C'est la valeur par défaut pour les emplacements normaux.
    remove : Ne pas ajouter de contenu et supprimer tout code alternatif existant lors de la sauvegarde. C'est la valeur par défaut pour les emplacements de gabarits.

    Propriétés spécifiques de chemin (Path)
    looped boolean false Indique si le chemin forme une boucle ou garde un point de départ et un point d'arrivée.
    displayKind enum mm

    Utilisé pour définir l'unité d'affichage, doit être une des valeurs suivantes :
    mm : millimètres.
    segs : segments.
    links : liens (utilise la même valeur que les segments).

    curveStep float 0.0 Utilisé pour définir la résolution de la courbe interne. La modification de cette valeur est seulement utile lors de la construction de choses faites de segments statiques non pliables, par exemple, une chaîne technique. Dans ce cas, la définition de cette valeur à la longueur du segment de pièce se traduira par un positionnement parfait, par exemple, les maillons de la chaîne. Sinon, vous pourriez voir des problèmes de placement car le générateur interne arrondit tout à n fois la longueur de la résolution qui pourrait légèrement différer de la longueur de la courbe du segment.
    0.0 indique que la résolution par défaut doit être utilisée.
    displayLenCor integer 0 Correction à appliquer lors du calcul de la longueur totale du chemin. Doit être donné dans l'unité displayKind. Pourrait être utilisé par exemple pour ajouter la longueur des pièces d'extrémités à la longueur du chemin générée.
    Propriétés spécifiques de ressort (Spring)
    cRes integer 16 Résolution cylindrique de la spire à utiliser pour le rendu (OpenGL).
    cResLD integer 16 Résolution cylindrique de la spire à utiliser pour le maillage LDraw généré.
    cDia unit 8.0 Diamètre interne de la spire.
    cRoll float 0.0 Enroulement autour de l'axe Y à appliquer à la spire en degrés.
    wRes integer 8 Résolution cylindrique du fil à utiliser pour le rendu (OpenGL).
    wResLD integer 8 Résolution cylindrique du fil à utiliser pour le maillage LDraw généré.
    wDia unit 2.0 Diamètre du fil.
    wCol ldrawColNr 16 Couleur du fil.
    sepMesh boolean false Indique si le fil doit être séparé du contenu du ressort principal, même s'il utilise la couleur 16. Si faux (false), il sera séparé uniquement si une couleur différente de 16 est utilisée.

    Méta de génération (0 !LDCAD GENERATED)

    La méta-commande de génération est utilisée pour informer que tout le contenu qui suit est maintenu par un des générateurs de LDCad. Cela signifie que la section entière du code LDraw pourrait être remplacé ou supprimé au moment de la sauvegarde par LDCad. Il n'est donc pas recommandé de modifier manuellement son contenu.

    Exemple
    0 !LDCAD GENERATED [generator=LDCad 1.4b]

    Ou en variante
    0 !LDCAD GENERATED [generator=LDCad 1.4b] [master=pump.ldr]

    Propriétés
    Propriété Type Défaut Description
    generator string   Version du programme qui a créé en dernier le contenu qui suit. La chaîne de caractères est juste pour information, car elle n'est actuellement pas utilisée pendant le chargement du contenu.
    master ldrawRef   Si ce bloc généré est nécessaire pour un autre bloc généré (par exemple le maillage d'un ressort faisant partie du contenu d'un amortisseur) une référence au contenu principal doit être donnée dans ce paramètre. Si le contenu principal est réglé tout ce sous-fichier sera géré par le générateur de contenu du gestionnaire, ce qui signifie qu'il pourrait être complètement supprimé, y compris toutes les lignes (jusqu'à et y compris 0 FILE) au-dessus de la méta-commande du générateur elle même. Le contenu principal doit être dans le même fichier MPD.

    Métas de contenu de chemin

    Les méta-commandes de contenu de chemin sont utilisées pour définir les pièces dynamiques à l'intérieur d'un sous-fichier dédié. Basé sur une collection de lignes 0! LDCAD PATH_, LDCad sera en mesure de générer de nombreux types de pièces flexibles pour une utilisation dans vos modèles. Afin de voir également correctement ces modèles dans d'autres programmes de visualisation ou d'édition LDraw une méta-commande de génération peut être utilisée pour ajouter au code LDraw du sous-fichier les éléments de la pièce dynamique figés au moment de la sauvegarde.

    Méta de point de chemin (0 !LDCAD PATH_POINT)

    La méta-commande de point de chemin est utilisé pour définir un point de passage. Le chemin généré utilisera ce point d'une certaine façon. S'il y a plusieurs points, le chemin suit l'ordre de ces points. Elles doivent être utilisées uniquement dans l'entête, et éventuellement maintenu groupées.

    Exemple
    0 !LDCAD PATH_POINT [type=bezier] [posOri=-110 0 0 1 0 0 0 1 0 0 0 1] [prevCPDist=25] [nextCPDist=25] [cirR=25] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]

    Propriétés
    Propriété Type Défaut Description
    type enum bezier

    Fixe le type de point, doit être bezier ou circle.
    Les points de Bézier (bezier) sont utilisés pour guider le chemin à travers le centre de ce point à l'aide de deux points de contrôle, un avant et un après, à l'aide de l'axe Y du système de coordonnée des points (donné par posOri).
    Les points de cercle (circle) sont utilisés pour guider le chemin autour du centre de ce point dans un plan 2D en utilisant le rayon personnalisé cirR.

    posOri LDraw matrix   Position et orientation du point. La partie orientation est très importante car elle définit la direction du chemin en utilisant son axe Y local.
    prevCPDist float 25.0 Définit le point de contrôle "avant" ce point en fixant la distance (sur l'axe Y local) avec lui. Le point de contrôle "avant" de ce point sera utilisé par le point de contrôle "après" du point de chemin précédent, afin de faire les calculs de Bézier pour le segment de ligne entre les deux.
    nextCPDist float 25.0 Définit le point de contrôle "après" ce point en fixant la distance (sur l'axe Y local) avec lui. Le point de contrôle "après" de ce point sera utilisé par le point de contrôle "avant" du point de chemin suivant, afin de faire les calculs de Bézier pour le segment de ligne entre les deux.
    cirR float 25.0 Fixe le rayon du cercle de guidage du chemin. Utilisé seulement si le type de point est circle.
    cirDir enum xyCW

    Utilisé pour sélectionner le plan 2D et le sens d'enroulement de ce point de chemin cercle. Doit être utilisé pour guider le chemin autour de son centre. Doit être une des valeurs suivantes :
    xyCW : Sens horaire autour du plan XY local.
    xyCCW : Sens antihoraire autour du plan XY local.
    zyCW : Sens horaire autour du plan ZY local.
    zyCCW : Sens antihoraire autour du plan ZY local.
    Utilisé seulement si le type de point est circle.

    prevYRoll float 0.0 Fixe l'enroulement (en degrés) autour de l'axe Y du chemin, le chemin donneur est nécessaire pour avoir l'arc de cercle local "avant". Utilisé lorsque par exemple vous travaillez avec un élastique de section carrée pour le guider d'une roue à gorge (beveled wheel) à une bague (bush). Utilisé seulement si le type de point est circle.
    nextYRoll float 0.0 Fixe l'enroulement (en degrés) autour de l'axe Y du chemin, le chemin donneur est nécessaire pour avoir l'arc de cercle local "après". Utilisé lorsque par exemple vous travaillez avec un élastique de section carrée pour le guider d'une bague (bush) à une roue à gorge (beveled wheel). Utilisé seulement si le type de point est circle.

    Méta d'extrémité de chemin (0 !LDCAD PATH_CAP)

    La méta-commande d'extrémité de chemin est utilisé pour ajouter une partie statique (pièce ou sous-fichier) à une pièce dynamique. C'est habituellement réservé aux parties d'extrémités extérieures à la pièce dynamique générée. Par exemple les tenons moulés aux extrémités de certains cordages. Elles doivent être utilisées uniquement dans l'entête, et éventuellement maintenu groupées.

    Exemple
    0 !LDCAD PATH_CAP [group=start] [color=16] [posOri=-170 8 0 1 0 0 0 1 0 0 0 1] [part=165.dat] [extraLen=0mm]

    Propriétés
    Propriété Type Défaut Description
    group enum  

    Groupe est utilisé pour attribuer cette extrémité à l'un des groupes automatiques LDCad disponible pour cette pièce flexible. Doit être une des valeurs suivantes :
    start : Toutes les choses qui forment le point de départ de la pièce flexible. C'est généralement une extrémité et le premier point du chemin.
    end : Toutes les choses qui forment le point d'arrivée de la pièce flexible. C'est généralement une extrémité et le dernier point du chemin.

    color ldrawColNr 16 Couleur à utiliser, donnée par la pièce LDraw.
    posOri ldraw matrix   Position et orientation de l'extrémité de la pièce.
    part ldrawRef   Pièce LDraw à utiliser pour pièce d'extrémité.
    extraLen unit 0mm Peut être utilisé pour indiquer la longueur des pièces d'extrémité, ou pour corriger la longueur totale du chemin lorsque les pièces d'extrémité comprennent par exemple une partie de la structure dynamique.

    Méta d'ancrage de chemin (0 !LDCAD PATH_ANCHOR)

    La méta-commande d'ancrage de chemin est éventuellement utilisé pour forcer un centre personnalisé utilisant le groupe de contenu de chemin automatique. Ceci peut être nécessaire pour les groupes de début et de fin si la méta-commande d'extrémité ou de point de chemin n'est pas adapté ou logique. Il ne peut y avoir qu'une méta-commande d'ancrage par type de groupe dans un sous-fichier de chemin. Elles doivent être utilisées uniquement dans l'entête, et éventuellement maintenu groupées.

    Exemple
    0 !LDCAD PATH_ANCHOR [group=start] [posOri=-110 24 0 1 0 0 0 1 0 0 0 1]

    Propriétés
    Propriété Type Défaut Description
    group enum  

    Groupe est utilisé pour attribuer cet ancrage à l'un des groupes automatiques LDCad disponible pour cette pièce flexible. Doit être une des valeurs suivantes :
    start : Toutes les choses qui forment le point de départ de la pièce flexible. C'est généralement une extrémité et le premier point du chemin.
    end : Toutes les choses qui forment le point d'arrivée de la pièce flexible. C'est généralement une extrémité et le dernier point du chemin.
    Il n'est pas autorisé d'affecter le groupe à quelque chose déjà utilisé par un autre ancrage.

    posOri ldraw matrix   Position et orientation de l'ancrage.

    Méta d'apparence de chemin (0 !LDCAD PATH_SKIN)

    La méta-commande d'apparence de chemin est utilisée pour définir la façon de remplir ou afficher la partie du chemin emprunté par un point donné. Il devrait y avoir au moins une méta-commande d'apparence dans chaque sous-fichier de pièce dynamique. Il est autorisé d'utiliser plusieurs méta-commandes d'apparence. La longueur totale du chemin sera divisé suivant les multiples méta-commandes en fonction des propriétés liées à leurs segments (SEG*). Les méta-commandes d'apparence doivent être utilisées uniquement dans l'entête, et éventuellement maintenu groupées.

    Exemple
    0 !LDCAD PATH_SKIN [donCol=16] [donOri=1 0 0 0 1 0 0 0 1] [donPart=3001.dat] [donYSize=100%] [donCen=absCen] [donCenYOfs=0] [donFinScale=fitDon2Seg] [donPlace=refsDyn] [donYAlign=0] [donInline=false] [segSize=100%] [segSizeTol=5%] [segsCnt=0] [segsGrp=0] [segsMaxMerge=1] [segsMrgAng=0] [segsEdgeDelKind=keepFirstLeft]

    Propriétés
    Propriété Type Défaut Description
    donCol ldrawColNr 16 Couleur à utiliser avec la pièce donneur.
    donOri 3x3 matrix   Rotation de la pièce donneur. donOri agit comme correction de la propre orientation du donneur afin de rendre l'axe Y de la pièce orienté. Ceci parce que la pièce donneur sera "trainée" le long du chemin dans sa direction Y locale (après cette correction).
    donPart ldrawRef   Fichier LDraw à utiliser pour remplir le chemin. Tout fichier LDraw est autorisé ici, mais en pratique il est préférable de se limiter à des pièces simples.
    donYSize unit 100% Utilisé pour fixer la taille de base du donneur dans sa direction Y. Si par exemple la pièce donneur est une section de tube avec une hauteur de 2 LDU, elle pourrait être étirée (Axe Y seulement) en utilisant cette option en morceaux de 8 LDU par exemple, soit 4 fois plus avec une valeur de 400%.
    donCen enum absCen

    Utilisé pour choisir le centre de travail de la pièce donneur. Cette option utilise le donneur comme il est après les corrections d'orientation. Doit être une des valeurs suivantes :
    partCen : Utilise l'origine de la pièce.
    absCen : Utilise le centre absolu de la pièce.
    absYCen : Utilise l'origine de la pièce pour les axes X et Z, mais utilise le centre absolu pour son axe Y.
    absXZCen : Utilise le centre absolu pour les axes X et Z, mais utilise l'origine de la pièce pour son axe Y.

    donCenYOfs float 0.0 Définit un décalage additionnel en Y pièce du donneur (après corrections donOri, donYSize et donCen) à utiliser.
    donFinScale enum fitDon2Seg

    Contrôle la façon dont le donneur est mis à l'échelle avant placement d'un segment. Doit être une des valeurs suivantes :
    none : Pas de mis à l'échelle supplémentaire.
    fitDon2Seg : Allonger ou réduire le donneur résulte à l'adapter exactement au segment de destination. Noter que cela pourrait (partiellement) remplacer quelques autres paramètres don* de mise à l'échelle mais il pourrait en résulter un résultat final inattendu.

    donPlace enum refsDyn

    Sélectionne la méthode de placement ou génération. Doit être une des valeurs suivantes :
    refsStat : Les donneurs sont placés en utilisant le centre calculé (après correction donYAling) au point de départ des segments en utilisant pour ces emplacements l'orientation du chemin local.
    refsDyn : Les donneurs sont placés en utilisant le centre calculé (après correction donYAling) au centre des segments en utilisant pour ces emplacements (interpolés) l'orientation du chemin local.
    deform : Le maillage du donneur est déformé de telle sorte qu'il suit la courbe du chemin à la suite tout code de retour en arrière aura mis entièrement récursif (transformé) la source de la pièce donneur pour chaque segment qui l'utilise. Le résultat de la méthode de déformation donne des pièces flexibles extrêmement lisses, mais il pourrait également se traduire par de très gros fichiers LDraw.

    donYAlign integer 0 Fixe une correction d'alignement à utiliser sur le centre du donneur calculé avant de placer un donneur sur le segment du chemin. Un nombre négatif décalera le donneur vers la gauche par multiples de sa longueur en Y. Donc -1 le déplacera d'une longueur entière vers la gauche. Un nombre positif fera la même chose vers la droite. 0 signifie qu'aucun changement ne sera effectué.
    donInline boolean false Détermine si le générateur va essayer de décomposer le fichier donneur au lieu d'y faire directement référence tout en créant le code de retour du segment. Décomposer le fichier donneur supprime sa dépendance et pourrait augmenter la portabilité du code de retour. Le donneur sera décomposé uniquement s'il est composé entièrement de lignes de type 1.
    segSize unit 100% Contrôle la longueur des segments individuels le long du chemin résultant. Chaque segment sur le chemin sera rempli avec une seule instance de pièce donneur. Fixer la taille des segments contrôle donc combien de fois le donneur peut être utilisé pour remplir le chemin. Soyez prudent lorsque vous réglez la taille du segment tout en utilisant la méthode de déformation car cela va influer grandement la taille du fichier résultant. Vous pouvez fournir la taille du segment en ldu, mm, ou en pourcentage de donYSize.
    segSizeTol unit 5% Contrôle le niveau d'agrandissement autorisé sur les segments afin de remplir l'espace restant. Si par exemple la taille des segments est 10 et le chemin complet a une longueur de 111, il en résulte 11 segments, la longueur restante de 1 sera étalée sur les 11 segments par une légère mise à l'échelle. Utilisez cette option pour limiter la quantité de mises à l'échelle pour éviter par exemple des distorsions notables de la pièce donneur. La tolérance peut être donnée en statique ldu, mm ou en pourcentage de la taille du segment calculé lui même.
    segsCnt integer 0 Utilisé pour définir éventuellement un nombre fixe de segments. 0 signifie qu'un nombre illimité de segments peut être utilisé pour construire le chemin. Si une valeur non nulle est donnée, seulement une partie du chemin sera rempli en utilisant les options de la méta-commande d'apparence. Cette option peut être utilisée pour limiter la longueur visible de la pièce flexible et faire de la place pour une autre méta-commande d'apparence sur le chemin.
    segsGrp integer 0 Utilisé pour grouper les segments résultants des différentes méta-commandes d'apparence. Si fixé à 0 aucun groupement ne sera effectué et chaque méta-commande d'apparence remplira son espace attribué dans l'ordre des lignes des méta-commandes d'apparence. Si la valeur est non nulle, les méta-commandes d'apparence utiliseront le même numéro de groupe et leurs segments se succèderons (compressés ensemble) rendant possible, par exemple, les motifs colorés.
    segsMaxMerge integer 1 Afin de tenter de réduire le code alternatif des segments qui sont en ligne droite à la suite d'un autre segment, il pourrait éventuellement être joint en un seul segment, pour placer moins de donneurs. Cette option est utile uniquement lorsque le donneur utilise l'échelle finale sinon vous allez vous retrouver avec des trous (grands) dans votre chemin.
    segsMrgAng float 0.0 Permet éventuellement de définir l'angle maximal (en degrés) entre deux segments afin de les estimer alignés. 0.0 indique de prendre la valeur par défaut. Cette valeur interne est codée en dur dans le programme (dépendant de la version). Utilisez cette option dans le cas ou un grand angle provoque des problèmes d'alignement.
    segsEdgeDelKind enum keepFirstLeft

    Contrôle quoi faire avec le chevauchement des lignes conditionnelles tout en utilisant la méthode de placement par déformation. Doit être une des valeurs suivantes :
    keepFirstLeft : Supprimer les gauches sauf pour le premier segment.
    keepLastRight : Supprimer les droites sauf pour le dernier segment.
    keepAll : Ne supprime rien, garde tout.

    Méta de longueur de chemin (0 !LDCAD PATH_LENGTH)

    La méta-commande de longueur de chemin est utilisée pour limiter la longueur ou pour définir un nombre réel de pièces pour la longueur maximum. Lorsqu'il y a plusieurs méta-commandes de longueur, celle la plus proche de la longueur réelle du chemin sera appliquée, par exemple dans le but de correspondre au chemin statique contenu dans des fichiers LDraw. La longueur totale du chemin sera divisé suivant les multiples méta-commandes en fonction des propriétés liées à leurs segments (SEG*). Les méta-commandes de longueur doivent être utilisées uniquement dans l'entête, et éventuellement maintenu groupées.

    Exemple
    0 !LDCAD PATH_LENGTH [lenTarget=50mm] [lenMargin=2%] [partName=some.dat] [partDescr=50 mm pneuhose]

    Propriétés
    Propriété Type Défaut Description
    lenTarget unit 0 La longueur maximale autorisée pour le chemin.
    lenMargin unit 0 La longueur totale du chemin peut différer en fonctions des vraies contraintes afin de se qualifier encore. Cela permet d'éviter les exclusions indésirables et compense pour les pièces extensibles (par exemple les bandes caoutchouc). La marge peut être donnée en ldu, mm ou un pourcentage de la valeur lenTarget.
    partName ldrawRef   La pièce LDraw qui représente la version statique du chemin qui correspond aux contraintes de cette méta-commande. Actuellement cette référence n'est jamais chargée de sorte qu'elle n'est pas obligée d'exister. Dans de futures versions, LDCad pourrait l'utiliser, par exemple en aperçu d'utilisation de la pièce, etc.
    partDescr string   Description à utiliser pour la partName donnée. Actuellement on ne fait rien avec cette valeur, mais dans de futures versions de LDCad il pourrait l'utiliser, par exemple lorsque le fichier LDraw de partName ne peut être trouvé (c'est virtuel).

    Métas de contenu de ressort

    Les méta-commandes de contenu de ressort sont utilisées pour définir les pièces qui comprennent un ressort mobile à l'intérieur d'un sous-fichier dédié. Basé sur une collection de lignes 0 !LDCAD SPRING_*, LDCad sera en mesure de générer de nombreux types de ressorts pour une utilisation dans vos modèles. Afin de voir également correctement ces modèles dans d'autres programmes de visualisation ou d'édition LDraw une méta-commande de génération peut être utilisée pour ajouter au code LDraw du sous-fichier les éléments de la pièce dynamique figés au moment de la sauvegarde.

    Méta de point de ressort (0 !LDCAD SPRING_POINT)

    La méta-commande de point de ressort est utilisée pour définir au plus deux points, en utilisant différents paramètres du groupe. Ce sont les points de connexion du ressort généré en utilisant une ou plusieurs méta-commandes de section. Les méta-commandes de point de ressort doivent être utilisées uniquement dans l'entête, et éventuellement maintenu groupées.

    Exemple
    0 !LDCAD SPRING_POINT [group=start] [posOri=0 24 0 1 0 0 0 1 0 0 0 1]

    Propriétés
    Propriété Type Défaut Description
    group enum  

    Groupe est utilisé pour attribuer ce point à l'un des groupes automatiques LDCad disponible pour la pièce ressort. Doit être une des valeurs suivantes :
    start : Ce point représente le début ou la base du ressort.
    end : Ce point représente la fin ou le sommet du ressort.
    Il n'est pas autorisé d'affecter le groupe à quelque chose déjà utilisé par un autre point.

    posOri LDraw matrix   Position et orientation de ce point de ressort.

    Méta d'extrémité de ressort (0 !LDCAD SPRING_CAP)

    La méta-commande d'extrémité de ressort est utilisée pour ajouter une partie statique (pièce ou sous-fichier) au début et à la fin de la partie ressort.

    Exemple
    0 !LDCAD SPRING_CAP [group=start] [color=16] [posOri=0 24 0 1 0 0 0 1 0 0 0 1] [part=3005.dat]

    Propriétés
    Propriété Type Défaut Description
    group enum  

    Groupe est utilisé pour attribuer cette extrémité à l'un des groupes automatiques LDCad disponible pour la pièce ressort. Doit être une des valeurs suivantes :
    start : Cette extrémité se connecte au début ou base du ressort.
    end : Cette extrémité se connecte à la fin ou sommet du ressort.
    Il n'est pas autorisé d'affecter le groupe à quelque chose déjà utilisé par une autre extrémité.

    color ldrawColNr 16 Couleur à utiliser pour cette pièce d'extrémité.
    posOri LDraw matrix   Position et orientation de cette pièce d'extrémité.
    part ldrawRef   Pièce LDraw à utiliser pour cette pièce d'extrémité. Peut être rien, mais en pratique, devrait être une pièce LDraw unitaire, car sinon cela pourrait nuire aux performances de rendu.

    Méta d'ancrage de ressort (0 !LDCAD SPRING_ANCHOR)

    La méta-commande d'ancrage de ressort est utilisée pour forcer un centre et une orientation personnalisée pour le groupe des ressorts. Il ne peut y avoir qu'une méta-commande d'ancrage par type de groupe dans un sous-fichier de ressort. Elle doit être utilisée uniquement dans l'entête, et éventuellement maintenu groupée.

    Exemple
    0 !LDCAD SPRING_ANCHOR [group=start] [posOri=0 48 0 1 0 0 0 1 0 0 0 1]

    Propriétés
    Propriété Type Défaut Description
    group enum  

    Groupe est utilisé pour attribuer cet ancrage à l'un des groupes automatiques LDCad disponible pour la pièce ressort. Doit être une des valeurs suivantes :
    start : Cet ancrage se connecte au début ou base du ressort.
    end : Cet ancrage se connecte à la fin ou sommet du ressort.
    Il n'est pas autorisé d'affecter le groupe à quelque chose déjà utilisé par un autre ancrage.

    posOri LDraw matrix   Position et orientation de cet ancrage.

    Méta de section de ressort (0 !LDCAD SPRING_SECTION)

    La méta-commande de section de ressort est utilisée pour définir l'apparence du fil du ressort, reliant les deux extrémités. Il doit y avoir au moins une méta-commande de section. Lorsque plusieurs méta-commandes de section sont présentes, la longueur disponible du ressort sera divisée entre eux suivant la propriété proportion. Elles doivent être utilisées uniquement dans l'entête, et éventuellement maintenu groupées.

    Exemple
    0 !LDCAD SPRING_SECTION [windingCnt=5] [proportion=1]

    Propriétés
    Propriété Type Défaut Description
    windingCnt float 5.0 Nombre d'enroulements autour de l'axe Y que devra faire le ressort pour couvrir la longueur disponible.
    proportion integer 1

    Définit la partie de la longueur totale du ressort que cette section contrôle. Si fixé à 0 le fil sera bien enroulé et la longueur de cette section dépendra du nombre d'enroulements et de l'épaisseur du fil. Si la valeur est non nulle, la longueur disponible sera calculée en prenant la longueur restante (longueur du ressort moins la longueur utilisé par les sections à proportion nulle) divisé par la somme de toutes les valeurs de proportion multiplié par la valeur de proportion de cette méta-commande.
    Par exemple, imaginez avoir un ressort d'une longueur de 100 en utilisant 4 méta-commandes de section. Si une de ces sections utilise une proportion de 2 et les trois autres une proportion de 1, les longueurs de section résultant sera : 40 (2/5ème), 20 (1/5ème), 20 (1/5ème) et 20 (1/5ème).

    Métas d'accrochage pièce

    Les méta-commandes d'accrochage pièce sont actuellement utilisées exclusivement combinés avec les fichiers de la bibliothèque fantôme afin d'ajouter des informations supplémentaires aux pièces de la bibliothèque LDraw. Cette information est utilisée par LDCad pour calculer automatiquement les positions de placement possible des pièces entre-elles.

    Ces méta-commandes décrivent essentiellement les points remarquables et leurs formes qui seront ensuite utilisés pour tester une à une chaque position lors de l'ajout d'une nouvelle pièce dans le modèle en cours. Cela sera fait pour toutes les informations d'accrochage à la fois sur la brique courante d'ajout et toutes celles présentes dans le modèle afin de trouver le meilleur point d'accrochage ou la solution la plus proche, par exemple une goupille dans le trou d'une poutre.

    Méta d'effacement d'accrochage (0 !LDCAD SNAP_CLEAR)

    La méta-commande d'effacement est utilisée pour vider la totalité ou une partie des informations d'accrochage héritées, recueillies jusqu'ici pour le fichier de la pièce courante. Cette méta-commande pourrait être nécessaire pour remplacer les informations héritées afin de l'étendre ou d'augmenter ses détails. Par exemple les informations obtenues à partir d'une primitive d'axe, car cette primitive est utilisée comme forme plus grande à l'intérieur d'un fichier de pièce.

    Exemple
    0 !LDCAD SNAP_CLEAR [id=axleHole]

    Propriétés
    Propriété Type Défaut Description
    id string   Utilisé pour effacer uniquement l'information d'accrochage obtenue en utilisant l'identifiant donné (id). Laissez-le vide pour effacer toutes les informations pour la pièce courante.

    Méta d'ajout d'accrochage (0 !LDCAD SNAP_INCL)

    La méta-commande d'ajout est utilisée pour ajouter une information d'accrochage dans cette pièce à partir d'une autre bibliothèque fantôme. Ceci est fait de façon non récursive.

    Exemple
    0 !LDCAD SNAP_INCL [ref=connhole.dat] [pos=-50 10 0] [ori=0 -1 0 0 0 -1 1 0 0] [grid=C 1 C 3 20 20]

    Propriétés
    Propriété Type Défaut Description
    ID string   Identifieur facultatif qui peut être utilisé dans les méta-commandes d'effacement (clear) pour éventuellement déposer cette information à un niveau supérieur dans les pièces qui l'utilise.
    pos vector   Position de l'information ou objet inclus.
    ori 3x3 matrix   Transformation de l'orientation à appliquer sur l'information ou objet inclus.
    scale vector   Vecteur facultatif de mise à l'échelle à appliquer sur l'information ou objet inclus.
    ref ldrawRef   Référence du fichier de la bibliothèque fantôme source. Doit utiliser uniquement des références de pièces locales.
    grid mixed array  

    Définit un modèle de grille à utiliser pour un placement multiple ou une inclusion du fichier référencé. La grille utilise l'orientation indiquée dans le paramètre ori. Comme les données de pièce LDraw sont orientés suivant l'axe Y, seules les valeurs de pas de grille en X et Z doivent être données comme ceci :
    Xcnt Zcnt Xstep Zstep par exemple : 4 8 20 20 qui pourrait être utilisé pour faire une grille 4x8 par exemple de tenons.
    Eventuellement chaque valeur de quantité peut être précédée par un caractère C indiquant que la grille devra être centrée sur cet axe. Si aucun C n'est donné, l'axe sera ajouté au paramètre pos. Par exemple pour centrer la grille 4x8 sur la position du paramètre pos utilisez : C 4 C 8 20 20.

    Méta d'accrochage de cylindre (0 !LDCAD SNAP_CYL)

    La méta-commande d'accrochage de cylindre est la pièce maîtresse des informations d'accrochage, car elle décrit les trous et les tenons qui sont le fondement de Lego. Si vous jetez un regard attentionné à quelques briques Lego, vous remarquerez que toutes ont des trous et des tenons d'accrochage similaires. La seule vraie différence entre elles sont le diamètre et le motif des formes de trous ou tenons (comme le côté d'une clef). Ce sont ces informations que la méta-commande d'accrochage sur cylindre tente de capturer pour appairer les pièces.

    Exemple
    0 !LDCAD SNAP_CYL [id=connhole] [gender=F] [caps=none] [secs=R 8 2 R 6 16 R 8 2] [center=true] [slide=true] [pos=0 0 0] [ori=1 0 0 0 1 0 0 0 1]

    Propriétés
    Propriété Type Défaut Description
    ID string   Identifieur facultatif qui peut être utilisé dans les méta-commandes d'effacement (clear) pour éventuellement déposer cette information à un niveau supérieur dans les pièces qui l'utilise.
    group string   Identifieur de groupe facultatif. Peut être utilisé pour limiter les correspondances possibles aux seules informations d'accrochage qui possèdent le même identifieur de groupe. Peut être utilisé pour prévenir les correspondances indésirables lorsque des formes très complexes sont impliquées, par exemple des trous de rotation à cliquet, etc.
    pos vector   Position de cette forme.
    ori 3x3 matrix   Orientation de cette forme.
    scale enum none

    Définit comment les références mises à l'échelle dans la pièce (officielle) principale doivent manipuler judicieusement l'information d'héritage. Doit être une des valeurs suivantes :
    none : Si une mise à l'échelle est détectée cette information ne sera pas héritée par la pièce de niveau supérieur.
    YOnly : L'information sera héritée seulement si la mise à l'échelle est limitée à l'axe Y, Si X et/ou Z est mis à l'échelle l'information ne sera pas héritée.
    ROnly : L'information sera héritée seulement si la mise à l'échelle est limitée au rayon du cylindre (habituellement X et Z) compte tenu de sa symétrie. Si l'information est mise à l'échelle de toute autre manière elle ne sera pas héritée.
    YandR : L'information sera héritée seulement si les règles YOnly ou ROnly s'appliquent.

    mirror enum cor

    Définit comment les références symétrisées dans la pièce (officielle) principale doivent manipuler judicieusement l'information d'héritage. Doit être une des valeurs suivantes :
    none : Si une symétrie est détectée cette information ne sera pas héritée par la pièce de niveau supérieur.
    cor : Si une symétrie est détectée l'information d'accrochage sera corrigée en retournant un des axes du rayon.

    gender enum male Fixe le genre de la forme du cylindre : M pour male (goujon) et F pour femelle (trou).
    secs mixed array  

    Décrit la forme du trou (le long de l'axe Y négatif) ou du goujon par une séquence de variantes de forme, de rayon et de longueur. L'information doit être donnée dans des blocs de : shapeVariant radius length ou shapeVariant doit être une des valeurs suivantes :
    R : Rond.
    A : Axe.
    S : Carré.
    _L : Extension judicieuse du rayon flexible vers le bloc de spécification précédent. Ce sera nécessaire par exemple pour l'extrémité d'un goujon de connecteur Technic. Bien qu'il soit un peu plus grand, il permet une compression (temporaire) tout en faisant glisser le goujon dans le trou d'une poutre Technic.
    L_ : Comme _L mais comme une extension vers la section suivante à la place de la précédente.
    Par exemple un simple tenon peut être décrit en utilisant un bloc unique : R 8 4 alors que le trou d'une poutre Technic en demande trois : R 8 2 R 6 16 R 8 2.

    caps enum one

    Définit les extrémités de la forme, doit être une des valeurs suivantes :
    none : La forme a les extrémités ouvertes. Par exemple un axe male ou un trou de poutre femelle.
    one : La forme a une extrémité fermée, qui dépend de son genre. Pour les formes males ce sera un A (fermé en bas) et pour les formes femelles ce sera un B (fermé en haut).
    two : La forme est fermée (bouchée) à ses deux extrémités. Par exemple la barre male de la poignée de valise d'une Minifig.
    A : La base est fermée/bouchée. Par exemple : Un tenon.
    B : Le sommet est fermée/bouchée. Par exemple : Un tenon de dessous.

    grid mixed array  

    Définit un motif de grille à utiliser pour le placement multiple de cette forme cylindrique. La grille utilise l'orientation indiquée dans le paramètre ori. Comme toutes les information d'attirance est orienté suivant l'axe Y seules les valeurs en X et Z du pas de la grille doivent être données comme ceci :
    Xcnt Zcnt Xstep Zstep par exemple : 4 8 20 20 pourrait être utilisé pour fabriquer une grille 4x8 de tenons.
    Eventuellement chaque valeur de quantité peut être précédée par un caractère C indiquant que la grille devra être centrée sur cet axe. Si aucun C n'est donné, l'axe sera ajouté au paramètre pos. Par exemple pour centrer la grille 4x8 sur la position du paramètre pos utilisez : C 4 C 8 20 20

    center boolean false Indique si cette forme cylindrique doit être centrée sur sa position ou non.
    slide boolean false

    Indique si cette forme cylindrique doit être considérée assez "lisse" pour faire glisser de potentielles pièces correspondantes. Si chaque pièce de la paire des pièces correspondantes ont l'option slide fixé à true (vrai) dans leurs méta-commandes d'information d'attirance, l'utilisateur sera en mesure de les faire glisser l'une sur l'autre. Sinon elles seront juste "attirées".
    Faire attention, lors de l'activation de cette option, car cela peut causer des glissements indésirables de par exemple un tenon dans un tenon de dessous. En pratique, il est bon de limiter slide à la valeur true aux choses que vous savez pouvoir glisser la plupart du temps (par exemple : pièces à clips, bagues (bush), roues dentées (gear), etc).

    Méta d'accrochage de clip (0 !LDCAD SNAP_CLP)

    La méta-commande d'accrochage sur clip est utilisée pour décrire tout ce qui a une forme de clip. Les clips sont toujours du genre féminin et seront testés pour s'appairer avec les formes cylindriques mâles.

    Exemple
    0 !LDCAD SNAP_CLP [radius=4] [length=8] [pos=0 0 0] [ori=1 0 0 0 1 0 0 0 1] [center=true]

    Propriétés
    Propriété Type Défaut Description
    ID string   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    pos vector   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    ori 3x3 matrix   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    radius float 4.0 Rayon intérieur du clip au repos.
    length float 8.0 Longueur ou largeur du trou (partiel) du clip.
    center boolean   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    slide boolean   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    scale enum none Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    mirror enum none Voir méta-commande d'accrochage de cylindre SNAP_CYL.

    Méta d'accrochage de clip (0 !LDCAD SNAP_FGR)

    La méta-commande d'accrochage sur doigt est utilisée pour décrire tout les formes de doigts pouvant se verrouiller. Les formes de doigts sont toujours testées parmi eux-mêmes.

    Exemple
    0 !LDCAD SNAP_FGR [group=lckHng] [genderOfs=M] [seq=4.5 8 4.5] [radius=6] [center=true] [pos=-30 10 0] [ori=1 0 0 0 0 1 0 -1 0]

    Propriétés
    Propriété Type Défaut Description
    ID string   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    group string   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    pos vector   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    ori 3x3 matrix   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    genderOfs enum male Indique le genre du premier doigt de la forme, doit être soit M pour male soit F pour femelle.
    seq float array   Définit la largeur de chaque doigt par une séquence de valeurs flottantes.
    radius float   Rayon extérieur du doigt (extrémité). Il est généralement biseauté et donc le paramètre d'accrochage principal.
    center boolean   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    scale enum none Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    mirror enum none Voir méta-commande d'accrochage de cylindre SNAP_CYL.

    Méta d'accrochage générique (0 !LDCAD SNAP_GEN)

    La méta-commande d'accrochage générique est utilisée pour décrire des choses ayant des formes irrégulières qui dans la pratique ne disposent que de quelques pièces sur laquelle elles peuvent s'assembler. Des choses par exemple comme les prises électriques ou les vitres de fenêtres.

    La correspondance est faite seulement parmi les méta-commandes d'accrochage génériques elles-mêmes, basé sur le nom unique du groupe. Mais l'information "bounding" va influencer le meilleur candidat sélectionné lorsque plusieurs paires sont très proches.

    Exemple
    0 !LDCAD SNAP_GEN [group=nxtc] [gender=M] [pos=0 -1.5 1.5] [ori=1 0 0 0 0 1 0 -1 0] [bounding=box 12.5 16.5 8]

    Propriétés
    Propriété Type Défaut Description
    ID string   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    group string   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    pos vector   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    ori 3x3 matrix   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    gender enum male Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    bounding mixed array  

    Définit la forme englobante qui sera utilisée dans les calculs de la "meilleure paire candidate". C'est nécessaire car sinon le positionnement unitaire pourrait provoquer des correspondances indésirables. Il existe plusieurs types de formes englobantes, à savoir :
    pnt : Un seul point, pas de boite englobante, pas d'information supplémentaire requise.
    box : Boite définie par ses demi-côtés X, Y, et Z. Par exemple : box 10 8 10.
    cube : Cube défini par sa demi-taille. Par exemple : cube 8.
    cyl : Cylindre défini par son rayon et sa longueur. Par exemple : cyl 8 20.
    sph : Sphère définie par son rayon. Par exemple : sph 8.

    scale enum none Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    mirror enum none Voir méta-commande d'accrochage de cylindre SNAP_CYL.

    Méta d'accrochage de sphère (0 !LDCAD SNAP_SPH)

    La méta-commande d'accrochage sur sphère est utilisée pour décrire un objet sphérique comme une rotule. Bien que les paires aient une orientation adaptée, elles seront accrochées ensemble en utilisant leur orientation actuelle dans l'éditeur puisque des choses comme les rotules tournent librement. Les versions futures de cette méta-commande pourraient éventuellement limiter cette liberté.

    Nota : Depuis LDCad v1.5, cette méta-commande est remplacée par la méta générique, car dans cette version de nouveaux paramètres à la méta d'accrochage générique rend la méta d'accrochage de sphère redondante.

    Exemple
    0 !LDCAD SNAP_SPH [gender=M] [radius=4]

    Propriétés
    Propriété Type Défaut Description
    ID string   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    pos vector   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    ori 3x3 matrix   Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    gender enum male Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    radius float   Rayon de la sphère.
    scale enum none Voir méta-commande d'accrochage de cylindre SNAP_CYL.
    Mais seuls none et ROnly sont autorisés.
    mirror enum none Voir méta-commande d'accrochage de cylindre SNAP_CYL.

     

    Configuration

    Il est possible de configurer LDCad au niveau de son apparence ou pour paramétrer son utilisation. C'est possible à partir de fichiers en mode texte pour l'apparence ou à travers son interface pour paramétrer son utilisation.

    Les fichiers de configuration sont situés dans un dossier ou un de ses sous-dossiers :

    Configuration générale de LDCad

    LDCad maintient un certain nombre de fichiers de configuration. Ce sont tous des fichiers texte similaires à des fichiers ".ini" qu'il est possible d'éditer manuellement si besoin lorsque le programme est fermé.

    Fichier main.cfg

    Le fichier "main.cfg" se trouve dans le dossier "LDCad/config" et sert à stocker tous les paramètres modifiables par exemple à travers le menu "Prefs" (Préférences). Il maintient également l'état général en cours du programme (taille et position des fenêtres, etc).

    Il abrite aussi quelques options de bas niveau réservées aux experts qui ne peuvent être modifiées à travers l'interface. L'auteur précise qu'il ne pense pas que ce soit nécessaire de décrire actuellement ces options, mais si vous avez besoin d'informations à leur sujet vous pouvez toujours le contacter.

    Fichier seeds.cfg

    Le fichier "seeds.cfg" se trouve dans le dossier "LDCad/config" et est utilisé pour garder une trace de la synchronisation entre fichiers source et leur emplacement cible. Par exemple le contenu du dossier partBin provient du fichier seeds/partBin.sf.

    Actuellement il est préférable de laisser ce fichier tel quel, car cela pourrait briser le processus de mise à niveau de LDCad s'il était mal employé.

    Fichier LDCad.cfg

    Ce fichier optionnel sera lu uniquement s'il est présent dans le même dossier que l'exécutable LDCad.exe. Il est utilisé pour configurer l'environnement interne de LDCad et donne l'emplacement de sauvegarde des fichiers de données et quels sont les dossiers par défaut à utiliser pour certaines fonctions de base.

    Le contenu par défaut, utilisé lorsqu'aucun fichier n'est trouvé, est (v1.5 Alpha 3 ou supérieur) :

    [paths]
    logDir=/logs
    cfgDir=/config
    guiDir=/gui
    resourcesDir=/resources
    colorBinDir=/colorBin
    partBinDir=/partBin
    examplesDir=/examples
    templatesDir=/templates
    donorsDir=/donors
    shadowDir=/shadow
    dirSeeds=/seeds
    
    [options]
    readOnly=false
    useSeeds=true
    useSingleInstance=true
    
    [defaults]
    ipcIDStr=LDCadIPC
    defLibCSL=offLib/offLibShadow.csl
    defConfigLDR=LDConfig.ldr 
    

    Pour en savoir plus sur la description du contenu, voir : http://www.melkert.net/LDCad/tech/config (en Anglais).

    Configuration interface graphique

    Presque toutes les couleurs, images et polices de caractères utilisées dans l'interface graphique OpenGL de LDCad sont modifiables en modifiant le modèle GUI. Il est toutefois recommandé d'apporter des modifications sur une copie du modèle par défaut. Ceci parce que les mises à jour du programme vont écraser vos modifications.

    Les modèles GUI se trouvent dans le dossier de configuration "gui". A l'intérieur, vous trouverez un readme.txt et un dossier "default". Pour créer un modèle personnalisé, copier le dossier par défaut et renommez-le par exemple en "monGUI" ou quelque chose à votre convenance. Ensuite, après être sorti de LDCad, vous devrez définir ce modèle comme modèle à utiliser en éditant le fichier "main.cfg" du dossier "config".

    Dans "main.cfg" recherchez la ligne "[guiTemplate]", et juste en dessous changez "name=default" par "name=monGUI" (ou comme vous avez nommé votre copie du dossier). Après avoir enregistré le fichier LDCad sera configuré pour utiliser votre modèle alternatif plutôt que celui par défaut. Mais comme il est actuellement identique vous ne noterez aucune différence.

    Images

    Le dossier des modèles GUI contient principalement des images png. Ce sont toutes les textures et symboles utilisées pour afficher les boutons, les icônes, etc. Un sous-dossier "menuBar" contient plus particulièrement des images utilisées par la barre d'outils et "partBinItems" pour celles du panneau pièces.

    Une façon de personnaliser LDCad est de remplacer ces images par vos propres versions. Il existe certaines règles pour bien le faire. Dans la pratique, il est préférable d'utiliser les mêmes dimensions autant que possible, car certaines d'entre elles sont semi-codées en dur ou présumés d'une certaine dimension pour forcer certaines mises en page. Il est également préférable d'appliquer la transparence chaque fois que l'original l'utilise.

    Quelques images seront automatiquement forcées à être transparentes si elles ne le sont pas. Ceci est fait en utilisant le pixel supérieur gauche comme couleur d'arrière-plan. A cet effet, il est recommandé de s'assurer de que ce pixel est quelque chose d'utile dans la plupart des cas.

    Fichier main.gui

    Le fichier "main.gui" se trouve parmi les images et devrait être présent dans tous les dossiers de modèle GUI. Le fichier sert à définir toutes les couleurs et polices utilisées et est probablement des plus faciles à régler.

    "main.gui" est en fait un fichier ini ordinaire qui contient deux sections, à savoir : options et fonts.

    Section "options"

    La section options ne détient actuellement que des définitions de couleur formatées comme suit :

    colorName=R G B
    

    Où R, G et B sont des nombres compris entre 0 et 1 qui indiquent les valeurs du composant rouge, vert et bleu de la couleur indiquée.

    La plupart des noms de couleur devraient facilement vous aider à comprendre où ils sont utilisés (pour ceux qui ont des notions d'anglais). Juste s'assurer d'avoir les couleurs d'arrière-plan et de premier plan contrastées pour rester visibles.

    Section "fonts"

    La section des polices vous permet de définir le nom de la police de caractères et sa taille pour afficher tous les textes dans l'interface graphique OpenGL. Ceci est fait en utilisant le format suivant :

    itemName=fontName1, fontName2, fontName3, ...., fontSize
    

    fontName est le nom du fichier d'une police se trouvant dans le dossier des polices du système (OS). LDCad utilise ce nom pour rechercher un fichier .ttf ou .ttc en utilisant les emplacements de recherche de polices.

    Les emplacements de recherche de polices par défaut diffèrent suivant le système (l'info exact est donnée dans les fichiers journaux), mais LDCad cherchera en premier à l'intérieur du dossier des gabarits. Alors, vous pouvez mettre le fichier ttf ou ttc là-dedans.

    Si nécessaire vous pouvez également étendre les emplacements de recherche de police en modifiant la section userFontLocations du fichier main.cfg, mais cela entraînera que votre configuration soit non portable.

    Si le premier nom de police n'est pas trouvé ou est non valide, le second est pris en compte et ainsi de suite. Lorsque vous créez un modèle universel n'oubliez pas de fournir des noms de polices distinctes pour Windows et Linux, car il y a très peu de polices disponibles à la fois sur les deux plates-formes.

    Une autre chose à garder à l'esprit est le fait qu'une police soit à espaces constant ou non. Si un élément utilise ce type d'espacement dans le modèle par défaut il est probablement préférable de faire la même chose dans votre propre modèle. Ceci parce que LDCad pourrait le supposer, en tout cas dans certains endroits.

    Et comme note finale, il pourrait être important de garder un œil sur le sous-ensemble Unicode qu'une police prend en charge. LDCad peut afficher tout caractère unicode 16 bits, mais ne sera en mesure de le faire que si la police donnée possède les informations nécessaires.

    fontSize définit la taille en pixels (px) pour afficher la police. Veillez à ce que la police sélectionnée prenne en charge cette taille et soit également lisible.

    S'il vous plaît, notez que pour l'instant, toutes les polices ne se dimensionneront pas parfaitement dans tous les cas, en utilisant des types de polices de dimensions (très) différentes, cela sera amélioré dans une future version de LDCad.

    Configuration panneau couleurs

    Il y a actuellement trois types de fichiers qui contrôlent le contenu du panneau couleurs :

    Fichier colorBin.fav

    Ce fichier est situé dans le dossier "C:/Users/tchang/AppData/Roaming/LDCad/config", ou de façon générique "%appdata%/LDCad/config".

    Il contient vos couleurs favorites, sans ordre particulier. Les couleurs favorites peuvent être rendues visibles dans le panneau couleurs en configurant les groupes du panneau couleurs du genre "favorite".

    Il n'est pas bon d'éditer ce fichier en dehors de LDCad. Vous pouvez cependant le supprimer, une fois LDCad fermé, pour effacer toutes les couleurs favorites. Le fichier sera récréé au prochain démarrage du programme.

    Fichier colorBin.his

    Ce fichier est situé dans le dossier "C:/Users/tchang/AppData/Roaming/LDCad/config", ou de façon générique "%appdata%/LDCad/config".

    Il contient l'historique des couleurs utilisées. Les couleurs utilisées peuvent être rendues visibles dans le panneau couleurs en configurant les groupes du panneau couleurs du genre "history".

    Il n'est pas bon d'éditer ce fichier en dehors de LDCad. Vous pouvez cependant le supprimer, une fois LDCad fermé, pour effacer l'historique des couleurs utilisées. Le fichier sera récréé au prochain démarrage du programme.

    Fichiers des groupes du panneau couleurs (*.cbg)

    Ces fichiers sont situés dans le dossier "C:/Users/tchang/AppData/Roaming/LDCad/colorBin", ou de façon générique "%appdata%/LDCad/config".

    Ces fichiers sont utilisés pour configurer le contenu du panneau couleurs dans LDCad. Cela se fait en fournissant un fichier .cbg pour chaque menu ou camembert de l'arborescence du panneau couleurs.

    Le fichier "sysRoot.cbg" se situe au même endroit.

    Le sous-dossier "default" contient les fichiers .cbg officiels (par défaut) de LDCad. Il n'est pas bon d'éditer les fichiers de ce sous-dossier.

    Si vous voulez ajouter ou créer des groupes personnalisés au panneau couleur, vous devez le faire en ajoutant un second sous-dossier en plus de celui par défaut. Par exemple en copiant et renommant le sous-dossier "default". Tout ce dossier est automatiquement traité et ajouté au panneau s'il contient un fichier "root.cbg".

    Après avoir ajouté le second sous-dossier, votre nouvelle configuration deviendra visible dans le panneau couleurs en allant à la racine du panneau (Main group) qui affiche la liste des sous-dossiers au lieu de la liste de la configuration par défaut. Ce comportement ne s'applique que s'il y a plusieurs sous-dossiers dans le dossier colorBin (???). Sinon, il y aura le contenu unique du sous-dossier par défaut.

    Les fichiers .cbg sont de simples fichiers texte qui contiennent une collection d'options et éléments. Pour en savoir plus sur leur structure voir : http://www.melkert.net/LDCad/tech/colBin (en Anglais).

    Configuration palette de couleurs

    Cette boite de dialogue s'affiche en cliquant sur le menu "Prefs / LDraw / Configuration files".

    LDraw configuration files : Fichiers de configuration LDraw (Fournis de base avec la bibliothèque LDraw) :

    Nota : Les changements seront actifs au prochain lancement de LDCad.

    Configuration panneau pièces

    Il y a actuellement cinq types de fichiers qui contrôlent le contenu du panneau pièces :

    Fichier partBin.fav

    Ce fichier est situé dans le dossier "C:/Users/tchang/AppData/Roaming/LDCad/config", ou de façon générique "%appdata%/LDCad/config".

    Il contient vos pièces favorites, sans ordre particulier. Les pièces favorites peuvent être rendues visibles dans le panneau pièces en configurant les groupes du panneau pièce du genre "favorite".

    Il n'est pas bon d'éditer ce fichier en dehors de LDCad. Vous pouvez cependant le supprimer, une fois LDCad fermé, pour effacer toutes les pièces favorites. Le fichier sera récréé au prochain démarrage du programme.

    Fichier partBin.his

    Ce fichier est situé dans le dossier "C:/Users/tchang/AppData/Roaming/LDCad/config", ou de façon générique "%appdata%/LDCad/config".

    Il contient l'historique des pièces utilisées. Les pièces utilisées peuvent être rendues visibles dans le panneau pièces en configurant les groupes du panneau pièces du genre "history".

    Il n'est pas bon d'éditer ce fichier en dehors de LDCad. Vous pouvez cependant le supprimer, une fois LDCad fermé, pour effacer l'historique des pièces utilisées. Le fichier sera récréé au prochain démarrage du programme.

    Fichier partBinGroups.inf

    Ce fichier est situé dans le dossier "C:/Users/tchang/AppData/Roaming/LDCad/config", ou de façon générique "%appdata%/LDCad/config".

    Ce fichier est un fichier de cache utilisé pour garder l'arbre du panneau pièces à jour par rapport avec ses sources pbg.

    Ne PAS éditer ce fichier, car il est maintenu par LDCad. Vous pouvez cependant le supprimer en cas de besoin. LDCad le régénérera au prochain démarrage du programme. Il en résultera un message "updating content..." (mise-à-jour du contenu) dans le panneau pièces.

    Fichiers d'inventaire du panneau pièces (*.inv)

    Ces fichiers sont situés dans le dossier "C:/Users/tchang/AppData/Roaming/LDCad/config", ou de façon générique "%appdata%/LDCad/config".

    Ces fichiers sont essentiellement des fichiers cache contenant des données de l'entête de tous les fichiers des bibliothèques LDraw (Officielle et Non officielle) actuellement disponibles dans LDCad.

    Ne PAS éditer ces fichiers, car ils sont maintenus par LDCad. Vous pouvez cependant les supprimer en cas de besoin. LDCad le régénérera au prochain démarrage du programme. Il en résultera un message "updating content..." (mise-à-jour du contenu) dans le panneau pièces.

    Fichiers des groupes du panneau pièces (*.pbg)

    Ces fichiers sont situés dans le dossier "C:/Users/tchang/AppData/Roaming/LDCad/partBin", ou de façon générique "%appdata%/LDCad/partBin".

    Ces fichiers sont utilisés pour configurer le contenu du panneau pièces dans LDCad. Cela se fait en fournissant un fichier .pbg pour chaque groupe de l'arborescence du panneau pièces.

    Le fichier "sysRoot.pbg" se situe au même endroit.

    Le sous-dossier "default" contient les fichiers officiels de configuration (par défaut) de LDCad. Il n'est pas bon d'éditer les fichiers de ce sous-dossier.

    Si vous voulez ajouter ou créer des groupes personnalisés au panneau pièces, vous devez le faire en ajoutant un second sous-dossier en plus de celui par défaut. Par exemple en copiant et renommant le sous-dossier "default". Tout nouveau dossier est automatiquement traité et ajouté au panneau s'il contient un fichier "root.pbg".

    Après avoir ajouté le second sous-dossier, votre nouvelle configuration deviendra visible dans le panneau pièces en allant à la racine du panneau (Main group) qui affiche la liste des sous-dossiers au lieu de la liste de la configuration par défaut. Ce comportement ne s'applique que s'il y a plusieurs sous-dossiers dans le dossier partBin (???). Sinon, il y aura le contenu unique du sous-dossier par défaut.

    Les fichiers .pbg sont de simples fichiers texte qui contiennent une collection d'options et éléments. Pour en savoir plus sur leur structure voir : http://www.melkert.net/LDCad/tech/partBin (en Anglais).

    Dans le sous-dossier "LDCad/partBin/default/sets" se trouvent les fichiers .pbg listant les pièces contenues dans un set référencé et une image .png de 256x256 pixels de chaque set.

    Bibliothèque de pièces

    Cette boite de dialogue s'affiche en cliquant sur le menu "Prefs / LDraw / Search (library) paths".

    Current item properties : Propriétés de l'item courant (sélectionné dans la liste en dessous) :

    Search order : Ordre de recherche :

    Accept : Valide les modifications.
    Discard : Annule les modifications.

    Nota : Les changements seront actifs au prochain lancement de LDCad.

    Bibliothèque fantôme

    Une bibliothèque fantôme LDCad (shadow library) est une collection de fichiers LDraw (pièces) organisés de façon identique aux fichiers la bibliothèque LDraw officielle. Ces fichiers peuvent être placés soit dans un dossier soit compressés dans un fichier zip renommé en .csl.

    Lorsqu'une bibliothèque fantôme est affectée à un emplacement de bibliothèque existante (à l'aide de la boîte de dialogue "LDraw search paths" du menu "Prefs / LDraw / Search (library) paths") elle sera chargée chaque fois qu'un élément de la bibliothèque correspondante est chargé.

    Par exemple, si la pièce 3001.dat est chargée à partir du dossier des pièces de la bibliothèque officielle, LDCad vérifiera s'il y a également un fichier 3001.dat à l'intérieur du dossier des pièces de la bibliothèque fantôme. Dans l'affirmative il chargera également ce fichier. Ensuite, il va ajouter toutes les informations utiles (comme une méta-commande !LDCAD snap) aux données en mémoire de la pièce 3001.dat officielle.

    Les bibliothèques fantômes sont actuellement exclusivement utilisées pour ajouter des informations d'accrochage pièce à un groupe croissant de pièces officielles en utilisant le fichier de bibliothèque fantôme par défaut offLibShadow.csl.

    Editer une bibliothèque fantôme

    Si vous souhaitez modifier la bibliothèque fantôme par défaut (par exemple pour ajouter des informations d'accrochage pièce ou faire une correction/modification mineure dans une pièce particulière), vous devrez tout d'abord copier/renommer le fichier en .zip, puis le décompresser à l'aide de n'importe utilitaire gérant le format ZIP (par défaut l'explorateur Windows). Pour pouvoir utiliser la bibliothèque fantôme modifiée, vous devrez également mettre à jour l'emplacement de recherche LDraw pour cette bibliothèque. La boîte de dialogue vous permettra de choisir soit un dossier normal (folder) soit un fichier compressé .CSL (archive).

    Editer la version fantôme des fichiers .dat peut se faire à l'aide de n'importe quel éditeur de texte brut. Avant d'apporter des modifications, vous pourriez vouloir parcourir quelques-uns des fichiers .dat existants (parmi les plus grands) et lire le fichier ruleInfo.txt inclus pour commencer.

    La manière de définir l'attraction pièce se trouve dans le chapitre sur les méta-commandes LDCad.

    Lorsque vous avez terminé de travailler sur une bibliothèque fantôme, vous pouvez la compresser à nouveau en .ZIP et la renommer en .CSL car le traitement de la version compressée sera plus rapide pendant le chargement des modèles.

    Partager vos modifications : Si vous ajoutez et/ou corrigez des choses dans la bibliothèque fantôme officielle, veuillez le signaler à l'auteur du programme en écrivant un message (en anglais) sur mailing it to author. De cette façon il pourra examiner vos modifications ou ajouts pour une future mise-à-jour et en faire bénéficier tous les utilisateurs.

    Gabarit utilisateur

    Cette boite de dialogue s'affiche en cliquant sur le menu "Prefs / LDraw / User templates".

    User template locations : Emplacements des gabarits utilisateur :

    Nota : Les changements seront actifs au prochain lancement de LDCad.

    Options copier/coller

    Cette boite de dialogue s'affiche en cliquant sur le menu "Prefs / Editing / Copy paste defaults".

    Paramétrage des grilles

    Cette boite de dialogue s'affiche en cliquant sur le menu "Prefs / Editing / Grid stepping".

    Move stepping : Pas de déplacement en unité LDraw.

    Rotation stepping : Pas de rotation en degrés.

    Nota : Le pas d'une grille ne peut être configuré avec une valeur inférieure à 0.01 LDU (0,004 mm).

    Nota : Le pas de rotation ne peut être configuré avec une valeur inférieure à 0.5 degré.

    Configuration des menus

    Cette boite de dialogue s'affiche en cliquant sur le menu "Prefs / GUI / Menubar config", onglet "Submenus", ou "Clic droit dans la barre menus + outils / GUI / Menubar config".

    Submenus : Sous-menus disponibles
    Liste de gauche = Liste des menus non utilisés, Liste de droite = Liste des menus affichés dans le programme.

    Configuration de la barre d'outils

    Cette boite de dialogue s'affiche en cliquant sur le menu "Prefs / GUI / Menubar config", onglet "Toolbuttons", ou "Clic droit dans la barre menus + outils / GUI / Menubar config".

    Toolbuttons : Boutons de la barre d'outils disponibles
    Liste de gauche = Liste des boutons non utilisés, Liste de droite = Liste des boutons affichés dans le programme.

    Configuration des raccourcis clavier

    Cette boite de dialogue s'affiche en cliquant sur le menu "Prefs / GUI / Hotkey config".

     

    En cas de problème

    Questions connues

    Problèmes ?

    Si le programme ne fonctionne pas ou vous avez trouvé un "bug" s'il vous plaît postez-moi un courriel (dixit l'auteur), avec les détails en mettant en fichier joint un fichier listant les commandes effectuées (logFile) dans la session ou a eu lieu le problème (les fichiers logs sont dans le sous-dossier "logs" du dossier d'installation du programme). Egalement donnez une description de votre matériel (cpu, vga, os) et si c'est lié à un modèle ou un fichier envoyez une copie du fichier en question.

    Cela devrait maintenant être suffisant, si quelque chose n'est pas auto-explicatif comme je le pensais ou l'espérais n'hésitez pas à poster.

    TOUTES questions/suggestions/commentaires/réflexions sont bienvenus.

     

    Impressions au cours du test du programme

    Voici une liste des impressions suite aux tests effectués de la version 1.5 Beta 1b à la version 1.6 Alpha 4, ainsi que les améliorations souhaitables ou à envisager qui amélioreraient les possibilités du programme et sa facilité d'utilisation.

     

    Droits et Copyright

    Le programme LDCad est développé par Roland Melkert. Vous pouvez le retrouver sur sa page : http://www.melkert.net/LDCad (en Anglais).

    Cette page en français est basée sur les tests de la version 1.6 Alpha 4 et la documentation de l'auteur.

    Traduction et Adaptation : J.C. Tchang.