LD Part Editor
(LDPartEditor ou LDPE ou LPE)

Mise à jour de la page : 31 décembre 2016.
    Set 700/1 de 1950
J.C. Tchang
English Version
On Autor's Site

And maybe......

Ce manuel est basé sur la version 0.8.27 Beta - Windows X64 de LDPartEditor. C'est un programme de Nils Schmidt, qui permet de créer ou modifier des pièces virtuelles au format LDraw.

La fenêtre du programme se divise en 2 parties principales :

Nota : On peut éditer des fichiers différents dans chaque partie et les deux parties peuvent être séparées en deux fenêtres.

 

Navigation rapide

 

Téléchargement

Télécharger sur la page de l'auteur, la version du programme compatible, suivant votre système :

En fonction de votre matériel :
Charger la version X64, pour les ordinateurs récents (64 bits).
ou la version X86, pour les ordinateurs plus anciens (32 bits).

En fonction de votre système d'exploitation :
Charger la version Win pour Windows XP, Vista, 7, 8 ou 10 de Microsoft.
Linux pour Linux Ubuntu (par exemple).
Mac pour Mac OS X 10.6 ou supérieur d'Apple.

Nota : Personnellement j'utilise la version Windows X64, qui sert de base pour ce manuel (34,9 Mo).

Fichiers de configuration des barres d'outils

Télécharger sur le forum LDraw :

 

Historique

Nota : Le numéro de version apparaît dans le panneau au démarrage, puis dans le fichier error_log.txt. Depuis la v0.8.15 apparaît également dans la barre de titre des fenêtres.

 

Installation et configuration

Pré-requis système

Nota : La version préférentielle est la version Windows 64 bits. Pour l'utiliser il faut avoir Java version 64 bits. Pour vérifier la version Java installée taper dans une ligne de commande : java -version.

Nota : Depuis la version v0.8.4b il faut avoir la version 8 de Java.

Pré-requis logiciel

La bibliothèque de pièces LDraw doit être installée :

Nota : Pour avoir un démarrage plus rapide du programme l'auteur conseille d'installer cette bibliothèque sur un disque SSD (disque à mémoire flash).

Installation de LDPartEditor

Décompresser le fichier téléchargé avec l'explorateur Windows ou 7-Zip par exemple, puis mettre le dossier obtenu à l'emplacement de votre choix. Personnellement, j'utilise le dossier : C:/LEGO/LDPartEditor.

Il est aussi possible de mettre à jour la version précédente en exécutant update.bat (Windows uniquement). Nota : La version 0.8.1d ayant un nouvel "updater" ne doit pas être installée avec ce fichier.


Message de confirmation en fin de mise à jour.

Lancement et configuration de LDPartEditor

Lancer le programme par un double-clic sur run.bat (Windows) ou exécuter le script run.sh (Linux ou Mac).

Au premier lancement le programme demande le dossier d'installation de la bibliothèque LDraw et diverses informations personnelles.

Utiliser les boutons "Browse..." pour sélectionner les dossiers demandés, puis sur le bouton "OK" pour valider ou "Cancel" pour annuler.

Nota : L'emplacement des bibliothèques de pièces (Officielle et Non officielle) est mis automatiquement dans les champs correspondants si la variable d'environnement %LDRAWDIR% existe (Windows uniquement).

Pour changer ultérieurement ces informations, aller dans le menu déroulant "Tools and Options / Options...", onglet "Misc. Options". Voir : Configuration divers.

On peut aussi aller dans le menu déroulant : "Tools and Options / Reset All Settings On Restart". Au prochain lancement le programme redemande ces informations. Attention, perte de toutes les données de configuration lors de l'opération.

Les données de configuration sont stockées dans le fichier binaire : config.gz.

Nota : La procédure de lancement du programme est longue (même si cela s'améliore un peu). Après un long chargement des primitives et de la bibliothèque de pièces, il faut patienter encore quelques secondes pour voir apparaître les fenêtres du programme. En effet l'auteur du programme a préféré ne pas utiliser le fichier Parts.lst et avoir en conséquence toutes les pièces installées disponibles à chaque lancement, au détriment du temps de chargement.

Configuration des fenêtres

Par défaut seule la fenêtre graphique s'affiche au démarrage du programme.

Depuis la version v0.8.20, les 2 fenêtres peuvent être accolées en une seule avec le menu "Tools and Options / Options", onglet "Misc. Options" et le menu déroulant "Text and 3D editor arrangement".

Depuis la version v0.8.23, une seule fenêtre affiche par défaut les fenêtres graphique et texte.

Il est possible de choisir la fenêtre graphique positionnée à gauche ou à droite ou les fenêtres laissées indépendantes, avec le menu "Tools and Options / Options", onglet "Misc. Options" et le menu déroulant "Text and 3D editor arrangement". Il faut ensuite relancer le programme pour valider le choix. Voir : Configuration divers.

Configuration de la position des barres d'outils

Si besoin, mettre un fichier layout_3D_editor.cfg (voir téléchargement) dans le dossier d'installation de LDPartEditor. Au prochain lancement la position des barres d'outils de la fenêtre graphique sera regroupé sur le haut (fichier "classic") de la fenêtre ou distribué en haut et sur les côtés (par défaut ou fichier "modern").


Position "classic" des barres d'outils de la fenêtre graphique.

Configuration de la taille des boutons des barres d'outils

Sélectionner l'une des 6 tailles disponibles, à partie du menu déroulant "Tools and Options / Set Icon Size / Icon Size...". A utiliser en fonction de votre configuration (résolution écran/configuration carte graphique) et de votre vue. Au prochain lancement leur taille sera mise à jour.

Sortie de LDPartEditor

Cliquer sur le bouton rouge à droite (par défaut) de la barre de titre de la fenêtre graphique.

 

Fenêtre graphique (éditeur 3D)

La fenêtre graphique est la fenêtre principale du programme. Les différents panneaux peuvent changer de taille en faisant glisser avec la souris les bords communs.

C'est dans cette fenêtre que se fait principalement l'édition de la pièce, en 3D ou en 2D.

Panneau grille de positionnement

Dans le panneau à gauche de la fenêtre graphique, onglet "Snapping/Converter". En haut 3 boutons de sélection de la grille large (Coarse), moyenne (Medium) ou fine (Fine), comme grille active. En dessous les pas de la grille sélectionnée en mode déplacement (Move Snap) en unité LDraw, rotation (Rotate Snap) en degré et échelle (Scale Snap) en pourcentage.

Le bouton "Expand Area" permet d'augmenter/diminuer automatiquement la hauteur du panneau. On peut jouer manuellement sur cette hauteur et la largeur en faisant glisser le bord du bas et le bord droit avec la souris.

Les valeurs de pas de grille peuvent être modifiées en tapant une valeur dans chaque champ, ou en incrémentant de 0.0001 avec la molette de la souris (s'il n'y a pas d'ascenseur), ou de 0.01 avec les flèches.

Pour remettre les valeurs par défaut, cliquer avec le bouton droit de la souris sur chacun des 3 boutons de sélection, puis cliquer sur le message qui apparaît : "Default Value for ...".

Panneau conversion d'unités

Un convertisseur d'unités se trouve à la fin du panneau grille de positionnement, onglet "Snapping/Converter".

Entrer une valeur dans l'un des champs LDraw Unit [LDU], Millimetre [mm] ou Inch [in] permet d'avoir la correspondance dans les 2 autres unités.

Les valeurs peuvent être modifiées en tapant une valeur dans un des champs, ou en incrémentant de 0.0001 avec la molette de la souris (s'il n'y a pas d'ascenseur), ou de 0.01 avec les flèches.

Les valeurs peuvent être copiées et collées dans la fenêtre texte, mais si vous utilisez un clavier français le séparateur de décimales "," doit être remplacé par un ".".

Panneau sélection

Dans le panneau à gauche de la fenêtre graphique, onglet "Selection".

Permet d'éditer le code d'une sélection dans la fenêtre graphique de lignes (ordinaires ou conditionnelles), de faces (triangles ou quadrilatères) de rapporteur d'angle (protractor) ou de fichiers externes (sous-fichiers ou primitives). Après avoir sélectionné des entités, cliquer sur la flèche droite du haut pour afficher la première entité.

Les flèches gauche et droite du haut permettent de passer à la ligne de code précédente ou suivante. Le champ sous les flèches affiche la ligne de code de l'entité courante.

Pour les lignes et faces les champs "Position" affichent la position en X, Y et Z des 2, 3 ou 4 sommets suivant l'entité courante.

Pour les rapporteurs d'angle le champ "Protractor Angle" affiche l'angle en degrés décimaux, avec une valeur plus précise que l'angle affiché dans la fenêtre graphique. Le champ "Protractor Length" affiche la distance entre le 1er et 3ème point de définition du rapporteur.

Pour les sous-fichiers et primitives les champs affichés donnent la position (X, Y, Z) et la matrice de transformation (M00, M01, M02 en X, M10, M11, M12 en Y, M20, M21, M22 en Z).

Les valeurs en unité LDraw peuvent être modifiées en tapant une nouvelle valeur dans un champ, ou incrémentées de 0.01 avec les flèches de chaque champ. Au-dessus de chaque champ s'affiche entre { } la valeur précédente tant que l'on reste sur l'entité courante.

Si le bouton "Move Adjacent Data" est cliqué la modification de coordonnée affecte également tous les autres sommets d'entités ayant la même coordonnée, sauf si elle est dans un sous-fichier ou une primitive.

Le bouton "Expand Area" permet d'augmenter/diminuer automatiquement la hauteur du panneau. On peut jouer manuellement sur cette hauteur et la largeur en faisant glisser le bord du bas et le bord droit avec la souris.

Panneau image de fond

Dans le panneau à gauche de la fenêtre graphique, onglet "Background Image".

Permet d'insérer une image pour créer une pièce à motif par exemple. Cliquer sur une des flèches puis sur le bouton "Browse" pour sélectionner une image .PNG sur votre disque dur.

Pour insérer une seconde image il faut copier la ligne 0 !LPE PNG... dans la fenêtre texte et changer le nom de l'image.

Les flèches gauche et droite en haut permettent de passer à l'image précédente ou suivante. Le champ "Image" affiche le nom de l'image courante. Les champs "Position" affiche la position en X, Y et Z, "Angle" l'angle en degré, et "Scale" l'échelle.

Les valeurs en unité LDraw, degré ou pourcentage peuvent être modifiées en tapant une nouvelle valeur dans un champ, ou incrémentées de 0.01 avec les flèches de chaque champ.

Le bouton central "Focus" centre l'image dans la vue courante et oriente la vue pour avoir l'image en vraie grandeur (VG).

Le bouton "Expand Area" permet d'augmenter/diminuer automatiquement la hauteur du panneau. On peut jouer manuellement sur cette hauteur et la largeur en faisant glisser le bord du bas et le bord droit avec la souris.

Panneau projet

Arborescence des éléments du projet en cours :

Devant un nom : Flèche verticale = Dossier ouvert, Flèche horizontale = Dossier fermé, * = Fichier Non sauvegardé, (!) = Fichier hors projet.

Boutons :

Le champ "Search" permet d'afficher en temps réel la liste des éléments répondant au critère de recherche (numéro et nom). Cliquer sur le bouton "Reset" pour tout réafficher.

Les éléments peuvent être renommés ou changés de dossier avec le bouton ou le menu contextuel "Rename / Move".

Les éléments peuvent être masqués dans la liste avec le bouton ou le menu contextuel "Close". Pour réafficher tous les éléments masqués, cliquer sur le bouton "Synchronise Folders / Editor Content", ou relancer le programme.

Les éléments de la Bibliothèque Officielle ne sont accessibles qu'en lecture. Pour pouvoir les modifier il faut les copier dans la Bibliothèque Non Officielle avec le bouton ou le menu contextuel "Copy To Unofficial Library".

Lors d'un changement externe de l'arborescence (ajout/suppression de fichier, mise à jour de la bibliothèque LDraw, ...) le panneau projet doit être mis à jour avec le bouton "Synchronise Folders / Editor Content".

Un message statistique s'affiche en fin d'opération. Cliquer sur "OK" pour finaliser.

Panneau primitive

Les boutons sur fond beige foncé et comportant un + (fermé) ou - (ouvert) sont des catégories, qui peuvent s'ouvrir ou se fermer en double-cliquant dessus. Les boutons sur fond blanc correspondent à des primitives.

Le nom de la catégorie ou le nom et description de la primitive s'affiche en dessous.

Changer la taille des boutons avec Ctrl+Molette de la souris ou avec les boutons - et + de la fenêtre.

Le bouton "Expand Area" permet d'augmenter/diminuer automatiquement la hauteur du panneau. On peut jouer manuellement sur cette hauteur et la largeur en faisant glisser le bord du haut et le bord droit avec la souris.

Changer l'orientation des primitives affichées dans les boutons avec le Bouton central de la souris ou la touche M en déplaçant la souris (un référentiel d'orientation est affiché dans le panneau).

Faire défiler les boutons avec la Molette de la souris ou déplacer la souris avec le Bouton droit enfoncé ou utiliser les touches Page Haut et Page Bas.

Rechercher des primitives d'après leur nom ou description (même partiel) dans le champ en dessous. La liste des primitives trouvées s'affichent en temps réel. Attention la casse doit être respectée (majuscules/minuscules). Cliquer sur le bouton Reset pour annuler la recherche.

Les catégories peuvent être personnalisées en éditant le fichier : primitive_rules.txt.

Ajouter une primitive dans la pièce en cours par un cliquer-glisser vers une des vues.

Panneau visualisation (vues)

Le panneau visualisation affiche une ou plusieurs vues de la pièce en cours. La vue active est la vue contenant le curseur (croix rouge et bleue).

Survoler le symbole d'engrenage (en haut à gauche de chaque vue) pour ouvrir le menu contextuel, sinon cliquer sur le bouton droit de la souris.

Manipulation pièce :

Affichage pièce (menu "Tools and Options") :

Affichage pièce (menu contextuel "View Actions") :

Affichage pièce (menu contextuel "Render Mode") :

Affichage élément de pièce (cacher pour voir ce qui est à l'intérieur) :

Affichage éléments de vue (menu contextuel "View Actions") :

Position de la lumière (vue 3D) :

Curseur

Le curseur s'affiche avec une croix rouge et bleue. Sa position s'affiche entre [ ] dans la barre de statut. Elle peut également être estimée avec les règles de positionnement, si elles sont affichées.

Multi-vues

Passer en mode multi-vues avec le menu contextuel "View Actions / Split horizontally" pour couper horizontalement la vue sélectionnée, ou "View Actions / Split vertically" pour la couper verticalement. Chaque vue séparée peut être également coupée.

Utiliser "View Actions / Rotate clockwise" pour basculer les vues horizontalement/verticalement.

La vue active est la vue survolée par la souris, celle où s'affiche la croix rouge et bleue.

Utiliser "View Actions / Close" pour fermer la vue active.

Avec la souris on peut déplacer les séparateurs de vues pour augmenter/diminuer leur taille.

On peut synchroniser le manipulateur, le déplacement de point de vue et le zoom des différentes vues avec le menu contextuel "View Actions / Synchronise / ...".

Pour ceux qui ont des difficultés à concevoir uniquement en vue 3D et pour éviter de faire la pièce symétrique à celle à obtenir, la meilleur configuration est de définir les vues comme ci-dessus (Norme ISO Européenne).

Règles de positionnement

Les règles de positionnement permettent d'estimer la position du curseur.

Dans chaque vue, elles peuvent s'afficher ou se cacher avec le menu contextuel "View Actions / Ruler".

Le triangle dans le coin donne accès au menu contextuel du panneau visualisation.

Onglets

Depuis la version v0.8.19 les fichiers ouverts apparaissent dans des onglets au-dessus de la fenêtre graphique.

On peut fermer un fichier en cliquant sur la croix à droite de son onglet.

On peut synchroniser le fichier de la fenêtre texte en cliquant sur le bouton "Sync. 3D Editor Tabs with Text Editor".

Barre de titre

A gauche de la barre de titre se trouve le nom du projet ou du fichier actif, puis le nom du programme et son numéro de version.

A droite se trouve les 3 icônes classiques de manipulation de la fenêtre.

Barre de statut

Dans la barre de statut, en bas de la fenêtre graphique, on trouve affiché :

En mode création d'entité, s'affiche également "Vertex @" avec les coordonnées du clic/point/sommet précédent.

 

Fenêtre texte (éditeur texte)

Une fenêtre texte affiche le listing d'un fichier pièce. Il peut y avoir plusieurs fenêtres ouvertes en même temps, par exemple en éditant une pièce à partir du panneau projet, ou plusieurs onglets en créant une nouvelle pièce avec le bouton "New Part File" d'une fenêtre texte.

C'est dans cette fenêtre que se fait l'édition du fichier de la pièce.

Depuis la version v0.8.17 cette fenêtre ne s'affiche plus par défaut au démarrage. Pour l'ouvrir il faut sélectionner une pièce dans le Panneau projet et, avec le menu contextuel, sélectionner "Open In Text Editor". Depuis la version v0.8.23 cette fenêtre est fusionnée par défaut avec la fenêtre grapique.

La fenêtre texte est composée principalement de la zone listing du fichier en cours, avec les onglets des différents fichiers ouverts. Au dessus se trouve les barres d'outils et en bas la fenêtre affichant les problèmes d'analyse du fichier. Tout en bas la barre de statut.

Panneau listing

En haut dans l'onglet le nom du fichier en cours. Un onglet peut être fermé en cliquant sur la croix à sa droite. Lorsqu'il y en a plusieurs, ils peuvent être activés en cliquant dessus et déplacés (entre fenêtre ou dans la même fenêtre) par cliquer/glisser.

On peut sélectionner une valeur numérique par un double-clic.

On peut sélectionner une zone de texte par cliquer/glisser à la souris.

On peut sélectionner une ligne entière en cliquant sur un numéro de ligne, et sélectionner des lignes consécutives avec la touche "Ctrl".

La sélection peut être éditée manuellement, ou avec les boutons "Cut", "Copy", "Paste", "Delete", le menu contextuel, et leurs raccourcis clavier.

La position du curseur s'affiche dans la barre de statut de la fenêtre : Ligne:Colonne.

Panneau problèmes

Cette fenêtre affiche le résultat de l'analyse du fichier en cours et permet de corriger les erreurs rencontrées.

Nota : Double-cliquer sur la première ligne de chaque catégorie pour visualiser toutes les erreurs de cette catégorie (flèche verticale).

Avec les boutons ou le menu contextuel on peut corriger certains problèmes, mais d'autres devront avoir une intervention manuelle de l'utilisateur.

Un double-clic sur une erreur met en surbrillance la ligne de code incriminée dans la fenêtre texte.

Le panneau des problèmes peut être Caché/Affiché par le bouton "Toggle Part Error List".

Liste des problèmes

 

Liaison fenêtre graphique et fenêtre texte

Depuis la version v0.8.20, les 2 fenêtres peuvent être accolées en une seule avec le menu "Tools and Options / Options", onglet "Misc. Options" et le menu déroulant "Text and 3D editor arrangement". Il faut ensuite relancer le programme.

Avec le menu "Tools and Options / Sync. 3D Editor with Text Editor" coché, les 2 fenêtres sont synchronisées.

Avec le menu "Tools and Options / + Automatic !LPE INLINE Parsing" coché, les 2 fenêtres sont en plus synchronisées avec les sous-fichiers gérés par la méta-commande !LPE INLINE.

Une sélection dans la fenêtre graphique et clic sur le bouton "Show Selection in Text Editor" met en surbrillance les lignes de code dans la fenêtre texte, en plus de la ligne courante. Avec le menu contextuel de la fenêtre graphique et "Join Selection (Text Editor)" seule la première entité de la sélection est mise en surbrillance.

Une sélection dans la fenêtre texte et clic sur le bouton "Show Selection in 3D View" sélectionne ces entités dans la fenêtre graphique.

La sélection d'un point/sommet unique dans la fenêtre graphique passe automatiquement en mode SyncEdit dans l'éditeur texte.

 

Projet de pièce

Un projet de pièce est le but principal de LDPartEditor, c'est-à-dire éditer des fichiers au format LDraw pour créer une pièce Lego. Si la pièce comporte des éléments répétitifs, ils peuvent être mis dans un ou plusieurs sous-fichiers appelés dans le fichier principal. Les éléments très utilisés sont définis dans des fichiers de primitives.

Le nom du projet courant s'affiche sur la première ligne du panneau projet et dans la barre de titre du programme.

Lors de l'ouverture d'un projet, un message peut s'afficher s'il y a des fichiers ouverts :

Cliquer sur "Oui" pour sauter ces fichiers. Les fichiers non sauvegardés apparaissent dans la rubrique "Unsaved Files" du panneau projet.

Un second message peut s'afficher si le projet précédent a été modifié :

Cliquer sur "Oui" pour sauvegarder les éléments modifiés.

Nouveau projet

Lorsque l'on veut créer un nouveau projet, utilisez le bouton "New Project" de la fenêtre graphique. Une fenêtre s'ouvre pour donner le nom du dossier contenant le projet.

Cela génère une structure ou arborescence de dossiers recevant les différents fichiers de pièces qui vont être créés (fichier pièce, sous-pièce, primitive, texture, ...).

Reprendre un projet

Reprendre un projet existant avec le bouton "Open Project". Une fenêtre s'ouvre pour sélectionner le dossier contenant le projet sur le disque.

Sélectionner également un des derniers projets ouverts avec le bouton "Last opened Files/Project".

Nota : Les éléments du projet (pièces, sous-pièces, primitives locales, ...) se listent dans le panneau projet.

Nouveau fichier pièce

Ouvrir un nouveau fichier de pièce avec le bouton "New Part File", et donner son nom et son emplacement dans le dossier projet.

Reprendre un fichier pièce

Reprendre un fichier de pièce existant avec le bouton "Open Part File". Une fenêtre s'ouvre pour sélectionner le fichier .dat sur le disque.

Sélectionner également un des derniers fichiers ouverts avec le bouton "Last opened Files/Project".

On peut aussi sélectionner une pièce (Parts) dans le panneau projet puis l'ouvrir avec le menu contextuel de ce panneau dans la fenêtre graphique avec "Open In 3D Editor" et dans la fenêtre texte avec "Open In Text Editor".

Un glisser/coller d'un fichier à partir de l'explorateur Windows permet dans la fenêtre texte d'ouvrir un nouvel onglet avec ce fichier et dans la fenêtre graphique d'en afficher le contenu. Le nom du fichier apparait dans le panneau projet.

Gestion des fichiers

Sauvegarder le fichier pièce courant avec le bouton "Save" et tous les fichiers ouverts avec "Save All".

Un fichier peut être supprimé avec "Delete" du menu contextuel du panneau projet.

Un fichier peut être renommé ou déplacé avec "Rename / Move" du menu contextuel du panneau projet, en validant avec le bouton "Enregistrer". Attention, si le fichier n'est pas sauvegardé dans le projet en cours il ne sera pas affiché lors du prochain chargement de ce projet.

Retrouver l'état du fichier à sa dernière sauvegarde avec "Revert All Changes" du menu contextuel du panneau projet.

En-tête du fichier

Il s'agit des premières lignes de code insérées dans un fichier de pièce. On peut les créer avec le bouton "Add a comment or a header entry..." et l'onglet "LDraw Header" du grand panneau qui s'ouvre :

Pour ajouter une ligne dans l'en-tête du fichier, sélectionner une ligne dans l'onglet "LDraw Header", ajouter les éléments demandés, puis cliquer sur le bouton "Append Or Insert Line". Voir : Mode position d'insertion dans le fichier.

On peut aussi les générer automatiquement en corrigeant les problèmes du panneau "Problems". Voir : Panneau problèmes.

Exemple d'en-tête de base standard :

0 Boat Mast  3 x  2 x 20 with Axle Hole Aligned with Base Corners
0 Name: 48002b.dat
0 Author: J.C. Tchang [tchang]
0 !LDRAW_ORG Unofficial_Part
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 BFC CERTIFY CCW

Nota : Depuis la v0.8.9, à la création d'un nouveau fichier de pièce, un en-tête standard, est inséré par défaut :

0 Désignation à compléter
0 Name: test6.dat
0 Author: J.C. Tchang [tchang]
0 !LDRAW_ORG Type à compléter
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 BFC CERTIFY CCW

Pour en savoir plus sur les différentes lignes d'en-tête, voir : Format des fichiers LDraw : Méta-commandes officielles de l'en-tête du fichier.

Création de sous-fichier ou primitive

Les sous-fichiers sont des parties de pièces réutilisées dans une ou plusieurs pièces (moitié d'une pièce symétrique par exemple).

Les primitives sont des parties de pièces plus élémentaires réutilisées de nombreuse fois (tenon ou trou d'axe par exemple).

Création de sous-fichier avec !LPE INLINE

Cliquer sur le bouton "Update/Compile Subfile Data" et LDPartEditor recharge le contenu des sous-fichiers et analyse le fichier pour rechercher la méta-commande !LPE INLINE. Toutes les données qui suivent jusqu'à !LPE INLINE END est reconnu comme données de sous-fichier.

Syntaxe :

0 !LPE INLINE 1 [Code Couleur] [Matrice] [Nom du sous-fichier]
0 !LPE INLINE END

!LPE INLINE peut être imbriqué :

0 !LPE INLINE 1 [Code Couleur1] [Matrice1] [Nom du sous-fichier1]
0 !LPE INLINE 1 [Code Couleur2] [Matrice2] [Nom du sous-fichier2]
0 !LPE INLINE END
0 !LPE INLINE 1 [Code Couleur3] [Matrice3] [Nom du sous-fichier3]
0 !LPE INLINE END
0 !LPE INLINE END

Exemple :

0 !LPE INLINE 1 16 0 0 0 1 0 0 0 1 0 0 0 1 s\test12.dat 
 4 12 -40 -12 -20 40 -12 -20 40 -12 60 -40 -12 60 
 1 12 0 -20 20 36 0 0 0 0 -44 0 -1 0 48\4-4disc.dat 
 1 12 40 -32 -12 0 -80 0 0 0 -26 26 0 0 4-4cylo.dat 
0 !LPE INLINE END

Cliquer ensuite sur le bouton "Update/Compile Subfile Data" pour créer le fichier test12.dat dans le dossier PARTS/S du projet. En v0.8.6 il faut effectuer la sauvegarde à partir du panneau projet et INLINE END ne semble pas fonctionner (???)

Création de primitive avec !LPE INLINE

Exemple :

1 9 10 -4 10 1 0 0 0 -1 0 0 0 -1 myTestStud.dat
0 !LPE INLINE 1 14 0 -4 0 1 0 0 0 -1 0 0 0 -1 myTestStud.dat
0 Stud Tube Open without Outer Cylinder
0 Name: myTestStud.dat
0 Author: Magnus Forsberg [MagFors]
0 !LDRAW_ORG Unofficial_Primitive
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 BFC CERTIFY CCW

1 7 0 0 0 2 0 0 0 -1 0 0 0 -2 4-4ring3.dat
0 BFC INVERTNEXT
1 14 0 -4 0 -6 0 0 0 4 0 0 0 -6 4-4cylc.dat
0 !LPE INLINE_END

Après compilation de ce code, LDPartEditor va créer un fichier de primitive dans votre projet (dans le dossier "P") nommée myTestStud.dat. La couleur 14 sera remplacée par la couleur 16. Le contenu sera également multiplié par l'inverse de la matrice de transformation originale.

Nota : Il faut sauvegarder le fichier dans le panneau projet avec le menu contextuel "Rename/Move".

Création de sous-fichier ou primitive par sélection

Pour créer le sous-fichier ou la primitive, il faut :

Création de sous-fichier ou primitive par copier/coller

Pour créer le sous-fichier ou la primitive, il faut :

Modification de sous-fichier

Lorsque le fichier principal et un sous-fichier sont ouverts dans LDPartEditor, la modification du sous-fichier n'apparaît pas lors de la visualisation du fichier principal. Il suffit de cliquer sur le bouton "Update/Compile Subfile Data" pour rafraîchir l'affichage.

Décomposition de sous-fichier

Utiliser les boutons "Inline selection", "Inline selection recursively" ou "Inline selection (Linked)" pour décomposer une sélection de sous-fichiers ou primitives dans le fichier en cours.

Pièce à motif

Il s'agit de pièces ayant une partie imprimée sur une face ou d'un autocollant plan. LDPartEditor permet de travailler sur un motif plan suivant X, Y, Z ou incliné.

Pour construire une pièce à motif, il faut :

Pièce texturée

Une pièce texturée est une pièce comportant un motif généré par une image projetée. Pour cela il faut utiliser un syntaxe particulière avec la méta-commande !TEXMAP.

Exemple avec la pièce 64393d01.dat :
Affichage avec LDPartEditor Comparatif avec LDView

La vue doit être en mode "Render Mode / BFC+TEXMAP/Materials" pour que la texture s'affiche.

LDPartEditor est capable de gérer les textures sur des surfaces planes, cylindriques ou sphériques.

Méta-commandes de texture (Type 0 !TEXMAP)

Avec le bouton "Add a comment or a header entry..." un grand panneau s'ouvre :

Pour ajouter une ligne dans le fichier, sélectionner une ligne dans l'onglet "Texture Mapping (TEXMAP)" puis cliquer sur le bouton "Append Or Insert Line".

Pour en savoir plus sur les différentes possibilités, voir : Format des fichiers LDraw : Méta-commande de Texturation (!TEXMAP).

Pour créer les méta-commandes d'un autocollant, voir : Créer pièce : Textured sticker generator.

 

Projet de modèle

Bien que ce ne soit pas le but de LDPartEditor, il est possible de charger et éditer un modèle simple.

La sélection des pièces se fait en mode sélection sous-fichier (subpart) et l'insertion des pièces se fait à partir du panneau projet (Official ou Unofficial Library / Parts) et le bouton "Insert subpart".

 

Modes

Les différents modes permettent d'avoir des actions et comportements prédéfinis dans le programme. Dans chaque mode, cliquer sur un bouton active le mode et recliquer dessus le désactive. Cliquer sur un autre bouton du même mode change l'action ou le comportement.

Mode création d'entités

Avec cette barre d'outils on ajoute des lignes de code dans le fichier de la pièce en cours. Ajout de commentaire ou méta-commande, point, sous-fichier, ligne, triangle, quadrilatère, ligne conditionnelle, distance et angle.

Nota : En changeant de mode "sélection ou manipulation d'entités" on désélectionne le mode création en cours.

Mode position d'insertion dans le fichier

Par défaut les entités créées dans la fenêtre graphique sont insérées à la fin du fichier. Si ce bouton est activé, les prochaines entités créées seront insérées après la ligne contenant le curseur dans la fenêtre texte, mais c'est plus lent.

Mode sélection ou manipulation d'entités

Avec cette barre d'outils on passe du mode sélection aux modes déplacement, rotation, échelle et combiné.

Mode type d'entité

Avec cette barre d'outils, en mode sélection, on passe à la sélection de point ou sommet, triangle ou quadrilatère ou angle, ligne ou ligne conditionnelle ou distance, sous-fichier ou primitive ou entité CSG.

Mode référentiel

Avec cette barre d'outils, on passe d'un positionnement suivant un référentiel local ou global.

Mode grille

Avec cette barre du panneau grille, on sélectionne un type de grille large, moyenne ou fine pour positionner les entités.

Mode adjacent

Dans ce mode on affecte tout ce qui est lié à la sélection courante lors d'une modification.

Mode sélection à travers

Dans ce mode on sélectionne une entité à travers une face de couleur transparente.

Mode sens des faces

Dans ce mode le sens BFC des prochaines faces créées sera inversé.

Grilles

Grille de positionnement

Une grille de positionnement permet de positionner le curseur avec un pas constant lors de la création ou modification d'entité de façon interactive (à la souris).

Il y a un pas courant pour le positionnement en XYZ, un pas angulaire pour les rotations et un pas de changement d'échelle.

Dans la barre de statut la position du curseur s'affiche dans le pas de la grille courante.

Voir le panneau grille de positionnement, pour sélectionner ou paramétrer une grille.

Grille de vue

Une grille de vue et une aide au positionnement du curseur.

Pour afficher une grille dans une vue, cocher dans le menu contextuel de la vue "View Actions / Grid", et pour la paramétrer cliquer dans le menu contextuel de la vue "Grid Size".

Référentiel

Un référentiel est un trièdre orthonormé servant de base au positionnement des entités. Il y a deux référentiels le premier "Global" ou "Repère du monde", placé en X=Y=Z=0 avec les directions par défaut de la pièce, et un second "Local" servant de "Manipulateur" et pouvant être modifié en position et orientation.

Le zéro du référentiel global s'affiche avec les lignes noires en cochant dans le menu contextuel d'une vue "View Actions / Origin".

Le trièdre s'affiche dans le coin en bas à droite de chaque vue en cochant dans le menu contextuel d'une vue "View Actions / XYZ-Axis". Les directions du trièdre sont données par leur couleur : X en rouge, Y en vert, Z en bleu.

Pour afficher le trièdre à son origine il faut passer par le manipulateur. Se mettre en mode déplacement, puis dans le menu déroulant "Modify the Manipulator", sélectionner "Move the Manipulator to Origin" et "Oriente the Manipulator to World".

Manipulateur

Le référentiel "Local" ou "Manipulateur" s'affiche en passant dans un mode modification (déplacement, rotation, échelle ou combinée). Sa forme varie suivant le mode de modification utilisé.

S'il y a une sélection la modification portera sur celle-ci, sinon elle portera sur le manipulateur lui-même.

Le "Manipulateur" peut être modifié avec le menu déroulant "Modify the Manipulator".

Déplacement de l'origine :
Move the Manipulator to Origin : Déplace le manipulateur à l'origine X=Y=Z=0.
Move the Manipulator to the Average Point of the Selection : Déplace le manipulateur au point moyen de la sélection (Raccourci "A").
Move the Manipulator to the Origin from a selected Subfile : Déplace le manipulateur à l'origine d'un sous-fichier ou primitive sélectionné.
Move the Manipulator to the Nearest Vertex : Déplace le manipulateur au point le plus proche.
Move the Manipulator to the Nearest Edge : Déplace le manipulateur au bord le plus proche, en alignant sa direction sur ce bord.
Move the Manipulator to the Nearest Face : Déplace le manipulateur à la face la plus proche.

Orientation de l'origine :
Orientate the Manipulator to World : Oriente le manipulateur au repère du monde.
Adjust the Manipulator to the Nearest Vertex Normal : Ajuste le manipulateur à la normale du point le plus proche.
Move the Manipulator to the Nearest Edge : Déplace le manipulateur au bord le plus proche, en alignant sa direction sur ce bord.
Adjust the Manipulator to the Nearest Edge Normal : Ajuste le manipulateur à la normale du bord le plus proche.
Adjust the Manipulator to the Nearest Face Normal : Ajuste le manipulateur à la normale de la face la plus proche.

Direction des axes :
Reverse the Manipulator X Axis : Inverse l'axe X du manipulateur.
Reverse the Manipulator Y Axis : Inverse l'axe Y du manipulateur.
Reverse the Manipulator Z Axis : Inverse l'axe Z du manipulateur.
Swap the Manipulator X/Y Axis : Permute les axes X et Y du manipulateur.
Swap the Manipulator X/Z Axis : Permute les axes X et Z du manipulateur.
Swap the Manipulator Y/Z Axis : Permute les axes Y et Z du manipulateur.

Divers :
Adjust the Rotation Center : Mets le référentiel au centre de l'écran et sert de centre de rotation écran.
Move the Camera to the Manipulator Position : Déplace le point de vue à la position du manipulateur.
Move a selected Subfile to the Manipulator : Déplace un sous-fichier sélectionné au manipulateur.

Déplacer le manipulateur à l'origine d'un sous-fichier

Pour déplacer le manipulateur à l'origine d'un sous-fichier, suivre la procédure suivante :

Mettre le manipulateur dans le plan d'un triangle ou d'un quadrilatère

Pour mettre le manipulateur dans le plan d'un triangle ou d'un quadrilatère :

 

Ajout d'entité ou méta-commande dans un fichier pièce

Sélection de point

Lors de la création de ligne, triangle, quadrilatère, etc, un point ou sommet d'une autre entité peut être sélectionné comme sommet de la nouvelle entité par cliquer/glisser autour du point pour former un rectangle.

Les coordonnées de ce point s'affichent dans la barre de statut après "Vextex @".

Exemple :

Sélection de point pour créer un triangle.

Commentaire (Type 0 //)

Avec le bouton "Add a comment or a header entry..." un grand panneau s'ouvre avec dans l'onglet "LDraw Header" :

Pour ajouter un commentaire, aller à la ligne commençant par 0 // et ajouter le commentaire que vous voulez dans le champ à droite puis cliquer sur le bouton "Append Or Insert Line".

La nouvelle ligne est ajoutée à la fin du fichier, ou après la ligne contenant le curseur de la fenêtre texte si le bouton "Insert Objects Behind The Cursor Position" est activé dans l'éditeur 3D.

Méta-commande LPE (Type 0 !LPE)

Avec le bouton "Add a comment or a header entry..." un grand panneau s'ouvre :

Pour ajouter une ligne dans le fichier, sélectionner une ligne dans l'onglet "LDraw Part Editor (LPE)" puis cliquer sur le bouton "Append Or Insert Line".

Définition de tache :

    0 !LPE TODO <tache>

Sert à ajouter automatiquement des commentaires par les utilitaires comme SymSplitter.

Mais, semble prévu pour une utilisation plus importante comme interpréteur de script (???) par exemple.

Définition de point :

    0 !LPE VERTEX <x> <y> <z>

Voir chapitre : Point (Type 0 !LPE VERTEX).

Définition de construction CSG :

    0 !LPE CSG_CUBOID <nom_unique> <couleur> <x> <y> <z> <Matrice (9 valeurs)>
    0 !LPE CSG_ELLIPSOID <nom_unique> <couleur> <x> <y> <z> <Matrice (9 valeurs)>
    0 !LPE CSG_QUAD <nom_unique> <couleur> <x> <y> <z> <Matrice (9 valeurs)>
    0 !LPE CSG_CYLINDER <nom_unique> <couleur> <x> <y> <z> <Matrice (9 valeurs)>
    0 !LPE CSG_CONE <nom_unique> <couleur> <x> <y> <z> <Matrice (9 valeurs)>
    0 !LPE CSG_CIRCLE <nom_unique> <couleur> <x> <y> <z> <Matrice (9 valeurs)>

    0 !LPE CSG_TRANSFORM <nom_source> <nom_cible> <couleur> <x> <y> <z> <Matrice (9 valeurs)>
    0 !LPE CSG_MESH <nom_unique> <couleur> <x> <y> <z> <Matrice (9 valeurs)>
    0 !LPE CSG_EXT_CFG <lg_maxi> <nb_transition> <courbe_trans1> <courbe_trans2> <rot_trans> <compensation> <inversion>
    0 !LPE CSG_EXTRUDE <nom_unique> <couleur> <x> <y> <z> <Matrice (9 valeurs)>

    0 !LPE CSG_QUALITY <Qualité circulaire entre 3 et 48 (16 par défaut)>
    0 !LPE CSG_EPSILON <Tolérance supérieure à 0 (1E-6 par défaut)>

    0 !LPE CSG_UNION <nom_source1> <nom_source2> <nom_cible>
    0 !LPE CSG_DIFFERENCE <nom_source1> <nom_source2> <nom_cible>
    0 !LPE CSG_INTERSECTION <nom_source1> <nom_source2> <nom_cible>

    0 !LPE CSG_COMPILE <nom_source>

Voir chapitre : Géométrie de construction de solides (!LPE CSG).

Définition d'image de fond :

    0 !LPE PNG <x> <y> <z> <Rx> <Ry> <Rz> <Sx> <Sy> <Sz> <chemin+nom_fichier>

Voir chapitres : Pièce à motif et Panneau image de fond.

Distance (Type 0 !LPE DISTANCE)

Cliquer sur le bouton "Create a new distance meter" puis créer ou sélectionner 2 points pour insérer une entité donnant la distance en absolu et la distance projetée en X, Y et Z en LDU. Les distances projetées dépendent du manipulateur actif, global ou local.

Nota : L'entité graphique prend la couleur par défaut.

Nota : Elle peut être sélectionnée dans la fenêtre graphique en mode ligne (F4).

Dans la fenêtre texte l'entité prend la forme :
0 !LPE DISTANCE 3 8.62 -15.48 0 24.1 -25.05 0
avec les coordonnées des 2 points.

Rapporteur d'angle (Type 0 !LPE PROTRACTOR)

Cliquer sur le bouton "Create a new angle protractor" puis créer ou sélectionner 3 points pour insérer une entité donnant l'angle en degré décimaux au sommet du second premier point.

L'entité graphique prend la couleur par défaut, sauf le texte de l'angle qui reste noir.

Dans la fenêtre texte l'entité prend la forme :
0 !LPE PROTRACTOR 6 -15.54 9 0 -30.15 16.93 0 -14.54 23.47 0
avec les coordonnées des 3 points sélectionnés.

Elle peut être sélectionnée dans la fenêtre graphique en mode surface (F3).

La valeur de l'angle peut être modifiée après sélection dans le panneau sélection. Le 3ème point est déplacé en conséquence.

La valeur de l'angle dans le panneau sélection est plus précise que celui affiché dans la fenêtre graphique et peut être copié.

Point (Type 0 !LPE VERTEX)

Ce type d'entité n'existe pas dans le format LDraw, c'est pourquoi il utilise le format d'une méta-commande spécifique à LD Part Creator. Les points servent d'aide à la création d'autres entités et doivent être supprimés lors de la finalisation de la pièce.

Cliquer sur le bouton "Add new vertex", puis cliquer dans une vue pour ajouter un point.

Nota : Si le point ne s'affiche pas, cocher dans le menu contextuel de la vue "View Actions / Vertices".

Par défaut le point est créé dans le pas de la grille en cours, et dans le plan 0 de la vue concernée. Pour changer de plan de profondeur il faut passer en mode référentiel "local".

Cliquer de nouveau sur le bouton "Add new vertex" pour arrêter la création.

Nota : On peut supprimer les points dans le panneau "Problems" de la fenêtre Texte en cliquant sur une ligne "Unofficial Meta Command" et dans le menu contextuel "Quick Fix Similar Problems", ou .....

Nota : Lors de la création de lignes, triangles ou quadrilatères des "points" sont affichés aux extrémités ou sommets des entités. Ces points n'apparaissent pas dans le listing du fichier.

Sous-fichier (Type 1)

Sélectionner le sous-fichier dans le panneau projet, puis cliquer sur le bouton "Insert subpart", avant de cliquer sur son/ses emplacements dans une vue graphique.

Un sous-fichier peut également être une primitive de la bibliothèque LDraw listé dans le panneau projet, ou une primitive affiché dans le panneau primitives.

Dans la fenêtre texte avec "Ctrl+R" on insère le début de la référence à un sous-fichier. Il ne reste qu'à entrer sons nom :
1 16 0 0 0 1 0 0 0 1 0 0 0 1
pour obtenir une référence valide complète. Exemple :
1 16 0 0 0 1 0 0 0 1 0 0 0 1 box2-5.dat.

Ligne (Type 2)

Cliquer sur le bouton "Create a new line", puis cliquer dans une vue pour ajouter les 2 extrémités de la ligne. Une des extrémités sert de point de départ pour la ligne suivante.

La touche Echap permet d'annuler la ligne en cours tout en restant en mode création de ligne. Utile pour créer une ligne séparée des précédentes.

Cliquer de nouveau sur le bouton "Create a new line" pour arrêter la création.

Par défaut les extrémités sont crées dans le pas de la grille en cours, et dans le plan 0 de la vue concernée. Pour changer de plan de profondeur il faut passer en mode référentiel "local".

Triangle (Type 3)

Cliquer sur le bouton "Create a new triangle", puis cliquer dans une vue pour ajouter les 3 sommets du triangle. Un des bords sert de départ pour le triangle suivant en ajoutant le dernier sommet.

La touche Echap permet d'annuler le triangle en cours tout en restant en mode création de triangle. Utile pour créer un triangle non adjacent au précédent.

Cliquer de nouveau sur le bouton "Create a new triangle" pour arrêter la création.

Par défaut les sommets sont créés dans le pas de la grille en cours, et dans le plan 0 de la vue concernée. Pour changer de plan de profondeur il faut passer en mode référentiel "local".

Triangles non valides

LDPartEditor utilise des mécanismes pour éviter de créer des triangles non valides :

Mais il est possible de créer de façon occasionnelle des triangles invalides en cochant l'option "Allow the creation of invalid triangles and quads". Voir : Configuration divers.

Quadrilatère (Type 4)

Cliquer sur le bouton "Create a new quad", puis cliquer dans une vue pour ajouter les 4 sommets du quadrilatère. Un des bords sert de départ pour le quadrilatère suivant en ajoutant les 2 derniers sommets.

La touche Echap permet d'annuler le quadrilatère en cours tout en restant en mode création de quadrilatère. Utile pour créer un quadrilatère non adjacent au précédent.

Cliquer de nouveau sur le bouton "Create a new quad" pour arrêter la création.

Par défaut les sommets sont créés dans le pas de la grille en cours, et dans le plan 0 de la vue concernée. Pour changer de plan de profondeur il faut passer en mode référentiel "local"

Quadrilatères non valides

LDPartEditor utilise des mécanismes pour éviter les quadrilatères non valides :

Voir : Considérations sur les quadrilatères et polygones.

Mais il est possible de créer de façon occasionnelle des quadrilatères invalides en cochant l'option "Allow the creation of invalid triangles and quads". Voir : Configuration divers.

Ligne conditionnelle (Type 5)

Cliquer sur le bouton "Create a new conditional line", puis cliquer dans une vue pour ajouter les 2 extrémités de la ligne, puis les 2 points de contrôle. Une des extrémités sert de point de départ pour la ligne suivante.

Cliquer de nouveau sur le bouton "Create a new conditional line" pour arrêter la création.

Mode spécial
ligne conditionnelle
Ajout de la
ligne conditionnelle
Inversion du sens avec
"Merge/Split / Flip/Rotate Vertices"

Nota : Les 4 points ne doivent pas être dans le même plan.

Nota : L'épaisseur des lignes conditionnelles affichées en orange se contrôle avec les boutons "Line Size". La couleur des faces dépend du paramétrage BFC.

 

Couleur des entités

Pour colorer des entités existantes il faut les sélectionner dans la fenêtre graphique puis cliquer sur l'un des boutons de la barre des couleurs pour les couleurs les plus utilisées :

Avec l'avant-dernier bouton on obtient la couleur 16 (couleur par défaut des faces) ou la couleur 24 (couleur par défaut des lignes) lors de leur création. Mais, lors d'une modification, pour avoir la couleur 24 aux lignes il faut passer par le dernier bouton "More..." et sélectionner la couleur 24 (milieu de la seconde ligne).

Avec le dernier bouton "More..." on accède à toutes les couleurs officielles prédéfinies toutes les couleurs unies prédéfinies. En survolant la table, au bas du panneau, on obtient le numéro et le nom de chaque couleur. Les couleurs transparentes sont sur un fond en damier :

En cliquant sur "Show Colour Table" on peut lister toutes les couleurs unies prédéfinies dans leur ordre alphabétique (en Anglais) :

Le champ recherche en bas permet de retrouver la première occurrence du nom (respecter la casse) ou du numéro.

En cliquant sur "Random Colours", on affecte une couleur aléatoire à la sélection courante.

En cliquant sur "Direct Colour" puis "Définir les couleurs personnalisées" on peut créer n'importe quelle couleur non officielle :

Dans la fenêtre texte l'affectation des couleurs s'affichent dans le listing :

Dans la fenêtre texte on peut directement colorer une sélection avec la même barre d'outils, ou cliquer sur le champ couleur d'une entité pour rentrer une valeur.

Couleur courante

Pour colorer les entités nouvelles au moment de leur création, il faut définir la couleur courante, le bouton à gauche de la pipette :

Pour rendre courant une couleur cliquer sur le bouton de la couleur courante, puis sur un des boutons de la barre des couleurs, ou sur le bouton "More..." pour la liste complète. On peut aussi sélectionner une entité déjà colorée et cliquer sur le bouton pipette "Take Color from Selection".

Nota : Si une couleur aléatoire ("Random Colors") a été utilisée la couleur courante devient aléatoire.

Couleur aléatoire

Pour colorer les entités de façon aléatoire, aller dans le menu contextuel d'une vue puis cocher "Render Mode / Random Colors" :

Nota : Cette coloration n'est que visuelle et ne change pas la couleur des entités dans le fichier.

Pour affecter une couleur aléatoire aux entités d'une sélection, utiliser le dernier bouton "More..." de la barre des couleurs, puis cliquer sur "Random Colours".

Nota : Dans les deux cas, a chaque clic sur le bouton de la couleur courante, les couleurs aléatoires sont changées.

Fichier LDConfig.ldr

Avec le menu déroulant "Tools and Options / Select LDConfig.ldr", on peut choisir un fichier de configuration des couleurs différent. Avec la bibliothèque de pièces LDraw, 2 fichiers sont fournis :

Couleur des lignes

En création de pièce la couleur normale des lignes (lignes de bord et ligne conditionnelles) est la couleur 24 (Edge Color), mais en cours de création on peut changer cette couleur, et pour les primitives colorées leur couleur dépend du fichier LDConfig utilisé.

Avec le menu contextuel d'une vue "View Actions / LDraw-Lines / Use Always Black Lines" toutes les lignes s'affichent en noir.

Décoloration pièce

En cas d'utilisation de couleurs, servant d'aide à la création, il faut en final décolorer cette pièce c'est-à-dire affecter la couleur 16 à toutes les faces sous-fichiers et primitives et la couleur 24 à toutes les lignes. Pour cela cliquer sur le bouton "Decolour Part" de la fenêtre graphique.

Nota : Attention, ne pas utiliser cette commande si vous avez fait une pièce avec motif coloré.

 

Sens des faces (BFC)

Le sens des faces permet de définir le côté intérieur et extérieur des faces, pour une meilleure utilisation des programmes de rendu.

Affichage couleurs affectées,
sens non visible, gris par défaut
Affichage sens des faces,
en bleu sans déclaration
Affichage sens des faces,
certaines mal orientées
Affichage sens des faces,
externes en vert, internes en rouge

Déclaration

Avec le bouton "Add a comment or a header entry..." un grand panneau s'ouvre.

Pour ajouter une ligne de déclaration dans l'en-tête, aller à la ligne "0 BFC" dans l'onglet "LDraw Header", sélectionner la formulation à utiliser, puis cliquer sur le bouton "Append Or Insert Line".

Pour ajouter une ligne de déclaration dans le corps du fichier, aller à la ligne "0 BFC" dans l'onglet "Backface Culling (BFC)", sélectionner la formulation à utiliser, puis cliquer sur le bouton "Append Or Insert Line".

Visualisation

On peut afficher le sens des faces, dans une fenêtre graphique, avec la commande du menu contextuel "Render Mode / Green Frontfaces / Red Backfaces".

Mode Non BFC
"No Backface Culling"
Affichage sens des faces,
"Green Frontfaces / Red Backfaces"
Affichage sens des faces,
"Red Backfaces"
Affichage sens des faces,
"Real Backface Culling"

Inversion

On peut changer le sens des faces d'une sélection de triangles et de quadrilatères avec le bouton "Swap BFC Winding" de la fenêtre graphique ou de la fenêtre texte. Cela change l'ordre des points.

Pour les primitives creuses (box, cyli,...) le même bouton ajoute/supprime une ligne de commande "0 BFC INVERTNEXT" avant chaque primitive (voir plus haut).

Pour les primitives planes (rect, disc, ring,...) le même bouton change de signe un des paramètres non nul de la matrice de transformation, sur l'axe perpendiculaire au plan de la primitive, dans la fenêtre texte.

Lors de la création de triangle ou quadrilatère, la face est toujours vue par défaut côté extérieur (vert) quelque soit l'ordre des sommets. Pour les créer coté intérieur (rouge) cliquer sur le bouton "Toggle BFC Winding".

 

Modification

Sélection

Pour sélectionner une entité à l'écran il faut cliquer sur le bouton "Select". Il reste actif tant qu'un autre bouton de la même barre n'est pas cliqué.

La sélection ne peut se faire que par type d'entité.

Sélectionner une entité en cliquant dessus dans une vue de l'écran graphique. Ajouter ou enlever une entité de la sélection avec le touche Ctrl + Clic souris.

Pour sélectionner des entités de types différents, il suffit de changer de type d'entité tout en gardant la touche Ctrl enfoncé.

Sélectionner une zone rectangulaire par cliquer/déplacer la souris. Les entités comprises même partiellement dans le rectangle sont sélectionnées (au moins un sommet).

Pour désélectionner ou inverser la sélection, utiliser une de ces commandes avec en appuyant sur Ctrl+Alt.

La sélection peut être maîtrisée avec le bouton "Select...".
Menu sélection :
...All : Sélectionne tout.
...None : Sélectionne rien.

...Inverse (Shown) : Inverse la sélection (visible).

...All Shown : Sélectionne tout ce qui est visible.
...All with Same Colours : Sélectionne tout ce qui a les mêmes couleurs.
...All Shown with Same Colours : Sélectionne tout ce qui est visible avec les mêmes couleurs.

...Everything... : Sélectionne tout.
...Connected... : Sélectionne tout ce qui est connecté.
...Touching... : Sélectionne tout ce qui a un bord commun.
...with Same Color : Sélectionne tout ce qui est commun avec la même couleur.
...with Same Orientation : Sélectionne tout ce qui est commun avec la même orientation (Nécessite une tolérance).
...with Specified Accuracy : Sélectionne tout ce qui est commun avec la précision spécifiée (Nécessite une tolérance. N'a pas d'effet sur "Select Everything").
...with Edge Adjacency : Sélectionne tout ce qui est commun avec bord adjacent.
...What is Hidden : Sélectionne tout ce qui est caché.
...except Subfile Content : Exception du contenu de sous-fichier.
...with Whole Subfile Selection : Avec la sélection des sous-fichiers entiers.
...and Stop Selection at Edges : Et arrête la sélection aux bords (N'a pas d'effet sur "Select Everything").

Select Single Vertex : Sélectionne un sommet unique.
...Isolated Vertices : Sélectionne les points isolés.

Vertices : Sommets ou points.
Lines : Lignes.
Triangles : Triangles.
Quads : Quadrilatères.
Conditional Lines : Lignes conditionnelles.

Il est possible de sélectionner un sommet unique, si l'on connaît sa position, avec le menu "Select / Select Single Vertex" :

Données adjacentes

Si le bouton "Move Adjacent Data" de la barre d'outils est cliqué, les modifications, en plus de la sélection, affecte également tous les autres sommets d'entités ayant une même coordonnée, sauf si elle est dans un sous-fichier ou une primitive.

Primitive rect.dat avec triangles et
quadrilatères accolés. Un triangle
sélectionné (rouge).
Déplacement du triangle
SANS "Move Adjacent Data".
Déplacement du triangle
AVEC "Move Adjacent Data".

Le bouton "Move Adjacent Data" reste cliqué ou non sur un collé en fonction de la configuration. Voir : Configuration divers.

Nota : Un autre bouton "Move Adjacent Data" existe dans le panneau "Selection" pour un usage plus particulier. Voir : Panneau sélection.

Déplacement

Pour déplacer une sélection cliquer sur le bouton "Merge/Split / Translate Selection". Entrer les valeurs de déplacement et valider par "OK".

Le déplacement peut se faire suivant 1, 2 ou 3 directions en même temps en cochant les directions concernées. Les valeurs peuvent être incrémentées de 0.01 avec les flèches de chaque champ ou de 0.0001 avec la molette de la souris.

Le déplacement d'un point ou sommet sélectionné unique peut utiliser la commande "Merge/Split / Set X/Y/Z (for Selection)". Changer une ou plusieurs des valeurs X, Y ou Z, ou cliquer sur "Set Coordinates to Manipulator Position" pour affecter les coordonnées du manipulateur au point, ou cliquer sur "Set Coordinates to Clipboard Vertex Position" pour affecter les coordonnées d'un sommet dans le presse-papier au point.

Nota : Voir un autre usage de cette commande au chapitre : Projection d'un point sur une ligne.

Pour déplacer une sélection de façon interactive, cliquer sur le bouton "Move". Un référentiel local apparait. Cliquer/Déplacer l'extrémité d'une flèche de ce référentiel permet de déplacer la sélection suivant le pas de la grille courante.

Pour déplacer une sélection suivant plusieurs directions en même temps, il suffit de cliquer successivement sur les extrémités des flèches avec la touche Ctrl enfoncée.

Pour déplacer un point en le projetant sur une ligne entre ses deux sommets, il faut utiliser l'outil "ML" (Move on Line). Voir : Projection d'un point sur une ligne.

Rotation

Pour faire tourner une sélection cliquer sur le bouton "Merge/Split / Rotate Selection". Entrer les valeurs de rotation suivant l'axe voulu, éventuellement le point de centre et valider par "OK".

Le centre de rotation est l'origine de la pièce par défaut. Taper les valeurs XYZ de votre point de rotation dans les champs "Pivot Point" pour définir un autre point de rotation. On peut aussi cliquer sur "Set Pivot Point to Manipulator Position" pour sélectionner la position du manipulateur ou "Set Pivot Point to Clipboard Vertex Position" pour sélectionner la position d'un sommet dans le presse-papier.

Les valeurs peuvent être incrémentées de 0.01 avec les flèches de chaque champ ou de 0.0001 avec la molette de la souris.

Pour faire tourner une sélection de façon interactive, cliquer sur le bouton "Rotate". Un référentiel local apparait. Survoler à la souris un des cercles du référentiel fait apparaitre une flèche. Cliquer/Déplacer l'extrémité de cette flèche permet de faire tourner la sélection suivant le pas angulaire de la grille courante.

La sélection tourne autour de l'axe X pour le cercle rouge, l'axe Y pour le cercle vert, l'axe Z pour le cercle bleu, l'axe perpendiculaire à la vue pour le cercle gris clair.

Facteur d'échelle

Pour changer d'échelle une sélection cliquer sur le bouton "Merge/Split / Scale Selection". Entrer les valeurs d'échelle suivant l'axe voulu et valider par "OK".

La mise à l'échelle peut se faire suivant 1, 2 ou 3 directions en même temps en cochant les directions concernées. Les valeurs peuvent être incrémentées de 0.01 avec les flèches de chaque champ ou de 0.0001 avec la molette de la souris.

est l'origine de la pièce par défaut. Taper les valeurs XYZ de votre point de référence dans les champs "Pivot Point" pour définir un autre point. On peut aussi sortir de la boite de dialogue, sélectionner un point ou sommet, le copier dans le presse-papier (Ctrl-C) et ouvrir à nouveau la boite de dialogue (???).

Le point de référence fixe est l'origine de la pièce par défaut. Taper les valeurs XYZ de votre point de référence dans les champs "Pivot Point" pour définir un autre point de référence. On peut aussi cliquer sur "Set Pivot Point to Manipulator Position" pour sélectionner la position du manipulateur ou "Set Pivot Point to Clipboard Vertex Position" pour sélectionner la position d'un sommet dans le presse-papier.

Pour changer d'échelle une sélection de façon interactive, cliquer sur le bouton "Scale". Un référentiel local apparait. Cliquer/Déplacer une extrémité cubique de ce référentiel pour changer l'échelle suivant cette direction.

Pour changer d'échelle une sélection suivant plusieurs directions en même temps, il suffit de cliquer successivement sur les extrémités cubiques avec la touche Ctrl enfoncée.

Modification combinée

Pour déplacer, tourner et changer d'échelle en même temps une sélection cliquer sur le bouton "Combined Mode". Les 3 référentiels apparaissent et permettent de combiner les 3 actions précédentes.

Modification d'angle

Pour modifier l'angle entre 3 points ou sommets, il faut créer un rapporteur d'angle, puis le sélectionner et modifier sa valeur dans le panneau sélection.

Symétrie

Il ne semble pas y avoir de commande spécifique. Pour contourner, mettre les entités à symétriser dans un sous-fichier et changer le signe d'un paramètre de la matrice de transformation dans la fenêtre texte.

Une autre possibilité est d'utiliser le facteur d'échelle avec "Merge/Split / Scale Selection" et de mettre -1 dans l'un des champs X, Y ou Z.

Arrondi

Utiliser le bouton "Round" (fenêtre graphique et fenêtre texte) pour arrondir les valeurs de position et de la matrice de transformation des entités graphiques sélectionnées.

Nota : En mode SyncEdit, l'arrondi se fait uniquement sur le sommet actif. Taper "Echap" ou cliquer sur le bouton "Single Vertex Modification" pour annuler ce mode.

En tapant Alt+C (fenêtre texte) ou un Ctrl+Clic sur le bouton "Round" (fenêtre graphique et fenêtre texte) on peut modifier le paramétrage par défaut : 3 décimales sur les positions (Coordinate Precision) et 5 sur les matrices (Transformation Matrix). On peut également faire un traitement différent par axe X/Y/Z.

Ordre des sommets

Avec "Merge/Split / Flip/Rotate Vertices" il est possible de changer l'ordre des sommets des entités graphiques sélectionnées.

Cela inverse les sommets des lignes et lignes conditionnelles (les points de contrôle ne sont pas touchés).

Cela permute cycliquement les sommets des triangles et quadrilatères.

Suppression

Supprimer une sélection avec le bouton "Delete" ou la touche du clavier "Suppr" ou "Del".

Pour annuler une suppression utiliser le bouton "Undo" ou Ctrl+Z.

 

Utilitaires de la fenêtre graphique

Ces utilitaires permettent de générer ou modifier des entités automatiquement.

Les dimensions sont données en LDU (LDraw Units = 0.4 mm). Les angles sont donnés en degrés décimaux.

Conversion de ligne conditionnelle en ligne ordinaire

Avec le bouton "C2L", on peut transformer les lignes conditionnelles (type 5) sélectionnées en lignes ordinaires (type 2), c'est-à-dire de supprimer les 2 points de contrôle (6 dernières coordonnées).

Sélection d'une
ligne conditionnelle
Suppression
des points de contrôle

Conversion de ligne ordinaire en ligne conditionnelle

Avec le bouton "L2C", on peut transformer les lignes ordinaires (type 2) sélectionnées bordant des faces en lignes conditionnelles (type 5).

Sélection d'une ligne
à la jonction de 2 faces
Génération des
points de contrôle visualisé
par les lignes orange et marron

Projection d'un point sur une ligne

Pour projeter un point sur une ligne il faut suivre les étapes suivantes :

Voir comme exemple : Tutoriel : Projeter un point sur une ligne.

Coupe de ligne et bord de face

Avec le bouton "Merge/Split / Split", on peut couper les lignes et les bords de faces en 2 parties égales. Avec "Merge/Split / Split N-Times" la coupe se fait en N parties.


Taper le nombre de fractions de la coupe.

Exemple de coupe de ligne avec "Merge/Split / Split N-Times".

Sélection d'une ligne Coupe de la ligne
en 6 parties égales

Exemple de coupe de faces avec "Merge/Split / Split".

Sélection d'un quadrilatère Coupe du quadrilatère en 2x2
et coupe en 2 des quadrilatères
adjacents

Fusion de sommets

Avec le bouton "Merge/Split / Merge to...", on peut fusionner des sommets suivant la moyenne des distances (Average), le dernier sommet sélectionné (Last Selected Vertex), le sommet le plus proche (Nearest Vertex), le bord le plus proche (Nearest Edge), le bord le plus proche en le coupant (Nearest Edge And Split), la face la plus proche (Nearest Face).

Avant Après

Lissage de sommets

Avec le bouton "Merge/Split / Smooth Vertices", on peut lisser des sommets, sur une sélection, ou sans sélection préalable sur tous les sommets.

La prévisualisation du nouveau maillage se fait en temps réel.

Exemple sur pièce 87995 :
Minifig Hair Bubble Style (Afro).
En modifiant le nombre d'itérations. En diminuant le facteur de lissage.

Surface de subdivision

Pour augmenter la facettisation d'un maillage et le rendre plus lisse, utiliser le bouton "Merge/Split / Subdivide (Catmull-Clark)" ou "Merge/Split / Subdivide (Loop)", sur une sélection de faces.

Naturellement on peut réitérer l'opération sur le résultat pour passer progressivement d'un cube à une sphère.

Exemple :
Fichier exemple Méthode Catmull-Clark Méthode Loop

Pour plus d'informations sur ces méthodes : Wikipedia.org : Surface de subdivision, Wikipedia.org : Loop subdivision surface.

Génération de lignes sur un maillage : Edger2

Exemple :
Maillage de faces Lignes de bord (en rouge)
et lignes conditionnelles (en noir)

Nota : Les options -cx et -cv ne sont pas supportés car LDPardtEditor utilise d'autres mécanismes pour détecter et supprimer les lignes conditionnelles invisibles.

Voir le manuel du programme original : Edger2, pour plus d'informations sur son utilisation spécifique.

Génération de primitive circulaire : PrimGen2

On génére des primitives circulaires standard ou non avec le menu déroulant "Tools and Options / PrimGen2".

Fenêtre graphique :

Fenêtre texte :

Barre de statut :

Voir le manuel du programme original : PrimGen2, pour plus d'informations sur son utilisation spécifique.

Génération de motif texte : Txt2Dat


Exemple de résultat. L'utilitaire fonctionne caractère par caractère et l'encadrement de chaque lettre peut chevaucher la suivante comme ici.

Le motif est créé par un maillage de triangles dans le plan XY (Front) à partir de l'origine. Les couleurs utilisées sont le noir "0x2191919" pour les lettres et le gris "0x2F2F2E5" pour le fond.


Sélection de la police et de son style.


Pour introduire des caractères spéciaux dans le texte on peut utiliser l'utilitaire "Table de caractères" de Windows et le copier/coller, en sélectionnant la même police. Nota : Cela ne fonctionne pas avec toutes les polices, ni tous les caractères (???).

Les étapes pour terminer le travail est généralement :

Voir le manuel du programme original : Txt2Dat, pour plus d'informations sur son utilisation spécifique.

Optimisation Rect : Rectifier

Voir le manuel du programme original : Rectifier, pour plus d'informations sur son utilisation spécifique.

Génération de lignes d'intersections : Isecalc

Nota : Les entités peuvent être des sous-fichiers ou primitives.

Exemple :
Fichier source (origine Philo) Résultat d'Isecalc
Calcul des lignes d'intersection

Voir le manuel du programme : Isecalc, pour plus d'informations sur son utilisation spécifique.

Projection de motif : SlicerPro2

Pour utiliser cet outil :

  1. Si besoin, cacher tout ce qui n'est pas faces à projeter et faces cibles. Une face non touchée par la projection ne sera pas modifiée. Les sous-fichiers sont ignorés s'ils ne sont pas décomposés.
  2. Mettre une des vues 3D suivant la direction de projection.
  3. Sélectionner les faces à projeter.
  4. Sélectionner la vue de projection avec Ctrl+Clic dans la vue, pour ne pas perdre la sélection.
  5. Lancer l'utilitaire avec "Tools and Options / SlicerPro".
  6. Valider par "OK".

Exemple :
Maillage coloré plan et cône de projection. Vue de projection à gauche.
Maillage projeté sur le cône.

Voir le manuel du programme original : SlicerPro, pour plus d'informations sur son utilisation spécifique.

Coupe d'entités : Intersector

Exemple :
Fichier source (origine Philo) Résultat d'Intersector après sélection des faces bleues.

Voir le manuel du programme original : Intersector, pour plus d'informations sur son utilisation spécifique.

Génération de motif à partir de lignes : Lines2Pattern

Cet utilitaire permet de remplir de triangles colorés des zones définies par des lignes chaînées.

Pour utiliser cet outil :

  1. Créer un maillage de lignes (type 2) de couleur 24.
  2. S'assurer que tous les sommets de lignes soient utilisés au moins 2 fois pour avoir un maillage fermé.
  3. Créer dans chaque zone des lignes (type 2) ayant une couleur au choix (sauf 24) pour définir la couleur de chaque zone.
  4. S'assurer que ces lignes soient à l'intérieur de chaque zone et couvre l'ensemble de la zone.
  5. S'assurer que ces lignes soient non connectées aux lignes de couleur 24.
  6. S'assurer que toutes les lignes soient dans le même plan.
  7. S'assurer que toutes les lignes aient une longueur minimum de 0.0001 LDU.
  8. Sélectionner dans une vue toutes les lignes (type 2 uniquement).
  9. Lancer la commande avec le menu déroulant "Tools and Options / Lines2Pattern".

Exemple :
Définition des zones à remplir
et couleurs à utiliser
Résultat de Lines2Pattern Résultat en affichant le maillage
des triangles

Génération de faces sur profil : PathTruder

Codes couleur à utiliser :

Pour utiliser cet outil :

  1. Créer les chemins et profils en respectant les codes couleurs. Nota : Les vecteurs de direction du profil de base (rouge) et du profil final (saumon) doivent être dans le plan XY.
  2. Sélectionner toutes les lignes.
  3. Lancer la commande avec le menu déroulant "Tools and Options / PathTruder".
  4. Changer éventuellement les options et valider par "OK".

Voir le manuel du programme original : PathTruder, pour plus d'informations sur son utilisation spécifique.

Nota : Il est aussi possible d'utiliser les chemins et profils de PathTruder comme élément CSG. Voir : Formes géométriques transformées.

Exemple 1 avec 1 profil :
Définition des chemins
et du profil de base
Résultat de PathTruder
avec les options par défaut
Résultat de PathTruder
en inversant le profil de base

Exemple 2 avec balayage de révolution :
Définition des chemins
et du profil de base
Résultat de PathTruder
avec les options par défaut

Exemple 3 avec 2 profils :
Définition des chemins
et les profils (second
confondu dans le premier)
Résultat de PathTruder
avec les options par défaut
transition à 10
Résultat de PathTruder
transition mis à 1

Exemple 4 avec balayage en spirale :
Définition des chemins
et du profil de base
Résultat de PathTruder avec
rotation=900 et longueur ligne mini=0.5

Séparation de maillage : SymSplitter

Cet utilitaire a pour but principal de séparer les parties symétriques d'un fichier pour les mettre dans un sous-fichier.

Pour utiliser cet outil :

Exemple 1 :
0 //
4 16 -8 -5.25 8 -36.25 -5.25 36.25 56.6769 -5.25 36.25 28 -5.25 8
4 16 -36.25 -5.25 -36.25 -36.25 -5.25 36.25 -8 -5.25 8 -8 -5.25 -8
0 BFC INVERTNEXT
1 16 0 -5.25 0 -1 0 0 0 -1.3125 0 0 0 1 stud4a.dat
4 16 28 -5.25 -8 56.6769 -5.25 -36.25 -36.25 -5.25 -36.25 -8 -5.25 -8
1 16 0 -5.25 20 -1 0 0 0 -1.3125 0 0 0 1 stud4.dat
1 16 0 -5.25 -20 -1 0 0 0 -1.3125 0 0 0 1 stud4.dat
0 //
0 !LPE TODO SymSplitter: Section in front of the plane.
0 //
4 9 -8 -5.25 8 -36.25 -5.25 36.25 56.6769 -5.25 36.25 28 -5.25 8
1 1 0 -5.25 20 -1 0 0 0 -1.3125 0 0 0 1 stud4.dat
0 !LPE TODO SymSplitter: Section between the plane.
0 //
4 14 -36.25 -5.25 -36.25 -36.25 -5.25 36.25 -8 -5.25 8 -8 -5.25 -8
0 BFC INVERTNEXT
1 14 0 -5.25 0 -1 0 0 0 -1.3125 0 0 0 1 stud4a.dat
0 !LPE TODO SymSplitter: Section behind the plane.
0 //
4 16 28 -5.25 -8 56.6769 -5.25 -36.25 -36.25 -5.25 -36.25 -8 -5.25 -8
1 16 0 -5.25 -20 -1 0 0 0 -1.3125 0 0 0 1 stud4.dat
Origine Résultat de SymSplitter avec
"+z" et "Colorises the result".

Exemple 2 :
Fichier source (origine Philo) Résultat de SymSplitter avec
"Validate the middle section",
et "Colorises the result".

Voir le manuel du programme original : SymSplitter, pour plus d'informations sur son utilisation spécifique.

Unifie les sommets de maillage : Unificator

Exemple :
Fichier source (origine Philo)
Avec écarts énormes.
Résultat d'Unificator avec "Vertex unification=1",
"Vertex snapping=1" et "Scope: File".

Voir le manuel du programme original : Unificator, pour plus d'informations sur son utilisation spécifique.

Génération d'entités courbes imbriquées : Rings and Cones

Cliquer sur "OK" pour lancer la recherche et insérer les anneaux et cônes trouvés, ou sur "Cancel" pour fermer la fenêtre.

La recherche de solution peut faire une approximation ou ne pas trouver de solution si le rayon 1 est proche du rayon 2. Par exemple : r1=5 et r2=5.05.

La recherche de solution peut être longue. Au bout de quelques secondes, cliquer sur "Cancel" de la fenêtre "Progress Information" pour arrêter la recherche et afficher la meilleure solution trouvée.

Si vous sélectionnez une primitive 4-4disc dans le fichier actif, le résultat de l'utilitaire sera placé à la position de la primitive sélectionnée.

Nota : S'il n'y a pas de solution avec des primitives (existantes ou non), le programme peut générer des quadrilatères si "Create the shape for me" est sélectionné.

Voir le manuel du programme original : Rings and Cones, pour plus d'informations sur son utilisation spécifique.

Exemple :
Anneau avec "Radius 1"=10 et "Radius 2"=17 (coloré ensuite).
Cône avec "Radius 1"=10, "Radius 2"=17 et hauteur 12 (coloré ensuite).

Recherche/Suppression de jonctions en T : TJunctionFinder

Sélectionner "TJunctionFinder" dans le menu déroulant "Tools and Options". Après recherche des jonctions en T, et tentative de correction, le programme en affiche la quantité. Les points non corrigés s'affichent en rouge dans la fenêtre graphique. Les lignes existantes sur bords supprimés sont également supprimées.

Exemple de correction automatique :
Avant Après

 

Utilitaires communs fenêtres graphique et texte

Décomposition de quadrilatères en triangles

Avec le bouton "Split Quad into Triangles", on peut décomposer une sélection de quadrilatères en triangles.

Avant Après

Fusion de triangles en quadrilatères

Avec le bouton "Merge Triangles into Quad", on peut fusionner une sélection de triangles en quadrilatères.

Avant Après

Nota : Les paires de triangles doivent avoir un bord commun et être de la même couleur.

 

Utilitaires de la fenêtre texte

Tri du fichier

Pour trier le fichier cliquer sur le bouton "Sort".

Par défaut, le tri garde la structure du fichier, c'est-à-dire qu'en présence de commentaires entre deux lignes de géométrie chaque zone de géométrie est triée séparément. Pour avoir un tri global, décocher "Ignore the structure (comments, etc)".

Nota : Le tri ne change pas le sens des faces (BFC INVERTNEXT reste devant l'entité concernée), et garde les définitions de texture (!TEXMAP).

Modification par Recherche/Remplace

Pour trier le fichier cliquer sur le bouton "Find/Replace".

Mise en commentaire

Cliquer sur le bouton "Toggle Comment" pour mettre en commentaire une sélection de lignes de code, c'est-à-dire rajouter 0 // en début de ligne.

Si certaines lignes de code sont déjà en commentaire, ce commentaire est supprimé.

Modification de coordonnées communes : SyncEdit

Dans l'éditeur texte, cliquer sur une coordonnée, puis sur le bouton "Single Vertex Modification" ou Alt+Maj+R pour passer en mode SyncEdit. A partir de ce moment toutes les coordonnées identiques sont éditées en même temps. Utiliser Echap pour sortir du mode.

Depuis la version v0.8.3b, la sélection d'un point/sommet unique dans la fenêtre graphique passe automatiquement en mode SyncEdit dans l'éditeur texte.

Voir le manuel du programme original : SyncEdit, pour plus d'informations sur son utilisation spécifique.

Décomposition Rect : Unrectifier

Cliquer le bouton "Unrectifier" de la fenêtre texte, pour décomposer toutes les primitives rect*.dat du fichier en triangles et lignes et les quadrilatères en triangles.

Appuyer la touche Ctrl et cliquer le bouton "Unrectifier" pour seulement décomposer toutes les primitives rect*.dat.

Voir le manuel du programme original : Unrectifier, pour plus d'informations sur son utilisation spécifique.

Géométrie de construction de solides (!LPE CSG)

LDPartEditor possède un outil de construction CSG (Contructive Solid Geometry, en Anglais). Cette méthode est basé sur la création de formes géométriques simples (cylindre, sphère, cône, ...) et d'opérateurs booléens pour les fusionner (union, différence, intersection).

Pour plus d'informations sur cette méthode : https://fr.wikipedia.org/wiki/G%C3%A9om%C3%A9trie_de_construction_de_solides.

Cet outil est puissant et permet de générer un maillage de triangles LDraw à la fin du processus. Son principal inconvénient est de ne pas utiliser en final de primitives.

Etapes pour générer un solide

Les étapes de travail sont généralement :

  1. Créer les formes géométriques de base avec les méta-commandes !LPE CSG_{Geom} ... Naturellement {Geom} doit être remplacé par une forme valide.
  2. Modifier les formes avec les opérateurs booléens.
  3. Compiler le résultat avec !LPE CSG_COMPILE...
  4. Modifier les formes jusqu'à la fin du travail.
  5. Décomposer avec le bouton "Inline selection" la méta-commande !LPE CSG_COMPILE pour générer les triangles du maillage.
  6. Eliminer toutes les jonctions en T. Voir : TJunctionFinder.
  7. Simplifier éventuellement le maillage. Voir : MeshReducer.

Les méta-commandes !LPE CSG peuvent être insérées avec le bouton de la fenêtre graphique : "Add a comment or a header entry" dans le chapitre "LDraw Part Editor (LPE)".

Pour les formes géométriques de base une autre méthode est recommandée existe. Utiliser en premier des primitives LDraw, comme box.dat ou 8-8sphe.dat, de sorte à pouvoir les placer et modifier dans l'éditeur 3D, puis ensuite les transformer en méta-commande de forme CSG en réutilisant les paramètres.

En effet, les entités CSG ne peuvent être manipulées (taille, déplacement, rotation, ...) comme les autres entités LDraw.
Depuis la version v0.8.11 les entités CSG sont sélectionnables en mode "Subpart" (F5), et utiliser le "Select All", "Select all with Same Colours" et "Select None", pour changer de couleur, ou leur affecter des transformations locales ou globales.

Les méta-commandes !LPE CSG peuvent être utilisées dans des sous-fichiers. Les identifieurs sont non globaux et liés au fichier ou sous-fichier. Il est possible de décomposer une méta-commande CSG de sous-fichier.

Les identifieurs sont sensibles à la casse "objet1" et "OBjet1" sont deux objets différents.

Formes géométriques de base

Formes géométriques de base reconnues :

Formes géométriques 3D et 2D :
Cuboïde :
CSG_CUBOID
Cylindre :
CSG_CYLINDER
Sphère ou Ellipsoïde :
CSG_ELLIPSOID
Cône :
CSG_CONE
Quadrilatère :
CSG_QUAD
Cercle ou Disque :
CSG_CIRCLE

Formes géométriques transformées

Méta-commandes des formes géométriques transformées reconnues :

Formes transformées :
Transformation :
CSG_TRANSFORM
(Exemple : Déformation d'un cube).
Maillage :
CSG_MESH
Extrusion :
CSG_EXT_CFG et
CSG_EXTRUDE

Opérateurs booléens et de gestion

Opérateurs booléens reconnus :

Opérateurs sur objets 3D et 2D :
Union ou addition :
CSG_UNION
Différence ou soustraction :
CSG_DIFFERENCE
Intersection :
CSG_INTERSECTION

Autres méta-commandes utilisées :

Conversion en maillage ordinaire

Pour décomposer les objets CSG en maillage :

Exemple explicatif d'objet CSG

Maintenant nous allons créer une pièce comme celle-ci :

0 // CSG commands can be used in subfiles, too
0 // The identifiers are non-global and bound to the file / subfile

0 // It is possible to inline CSG commands from subfiles

0 BFC CERTIFY CCW

0 // Set the quality and epsilon value (optional)
0 // SYNTAX 0 !LPE CSG_QUALITY [3 to 48]
0 !LPE CSG_QUALITY 24
0 // SYNTAX 0 !LPE CSG_EPSILON [>=.0001]
0 !LPE CSG_EPSILON .0001

0 // Define the shapes
0 // SYNTAX 0 !LPE [CSG SHAPE] [ID (can be any string without spaces)] [COLOUR] [MATRIX]
0 !LPE CSG_CUBOID    a  4 0 0 0 1 0 0 0 1 0 0 0 1
0 !LPE CSG_ELLIPSOID b  1 0 0 0 1.35 0 0 0 1.35 0 0 0 1.35

0 !LPE CSG_CYLINDER  c  2 0 -1 0 .7 0 0 0 2 0 0 0 .7
0 !LPE CSG_CYLINDER  d  2 -1 0 0 0 2 0 .7 0 0 0 0 .7
0 !LPE CSG_CYLINDER  e  2 0 0 -1 .7 0 0 0 0 .7 0 2 0

0 // Modify the shapes
0 // SYNTAX 0 !LPE [CSG FUNCTION] [origin ID] [origin ID2] [target ID3]

0 !LPE CSG_UNION c d d
0 !LPE CSG_UNION d e d
0 !LPE CSG_INTERSECTION a b f
0 !LPE CSG_DIFFERENCE f d f

0 // Compile the output
0 // SYNTAX 0 !LPE CSG_COMPILE [ID]
0 // The COMPILE command displays the CSG volume on the screen
0 // Inlining the following line will generate triangles of the CSG volume
0 !LPE CSG_COMPILE f

0 // E.g. 
0 // Inlined: !LPE CSG_COMPILE f
3 4 -10 1.5752766 7.3133416 -10 1.5752766 8.313231 -10 3.3930404 7.6749177
3 4 -10 1.5752766 7.3133416 -10 -2.6084895 6.481139 -10 -2.6084895 7.9504156
3 4 -10 1.5752766 7.3133416 -10 -2.6084895 7.9504156 -10 9.094947E-16 8.866396
...

Nota : Changez 0 !LPE CSG_COMPILE f en 0 !LPE CSG_COMPILE d et regardez ce qui se passe. Comprenez-vous pourquoi il affiche trois cylindres verts ?

Voir également comme autre exemple : Tutoriel : La technique CSG.

Simplification de maillage généré par CSG : MeshReducer

Sélectionner "MeshReducer" dans le menu déroulant "Tools and Options".

Exemple de simplification :
Avant Après

Message de fin de traitement du nombre de bords enlevés :

 

Validation de pièce "Part Tracker" : PartReview

Cet utilitaire permet de télécharger une pièce non officielle du site LDraw.org, avec tous les fichiers liés pour en faire une validation.

Lancer la commande avec le bouton "Tools and Options / PartReview". Attention sauvegarder si besoin le travail en cours, sinon il y a risque de perte de données.

Puis, entrer le nom du fichier à télécharger (avec ou sans ajouter l'extension .dat), et valider avec "OK".

Le programme télécharge alors les fichiers dans un nouveau projet, affiche chacun dans un onglet de la fenêtre texte, et crée 4 vues dans la fenêtre graphique avec des options de visualisation différentes (Normale avec logos sur les tenons, BFC/ligne conditionnelle, Couleur aléatoire et Filaire).

Il reste maintenant à valider la conformité de chaque fichier avec les standards LDraw.

 

Barres d'outils et menus

Barres d'outils communes

Barres d'outils fenêtre graphique

Barres d'outils fenêtre texte

Menu contextuel fenêtre graphique

Menu contextuel fenêtre texte

 

Raccourcis clavier

Fichier :Touches
SauveCtrl+S
 
Edition :Touches
Annule la dernière actionCtrl+Z
Rétablit la dernière action annuléeCtrl+Y
CoupeCtrl+X
CopieCtrl+C
ColleCtrl+V
SupprimeSuppr (Del)
Annule code couleur saisi, annule ajout ...Echap (Esc)
 
Sélection :Touches
Sélectionne toutCtrl+A
Sélectionne rienCtrl+Maj+A
Sélectionne tout, même couleurAlt+Ctrl+C
Sélectionne connectésAlt+C
Sélectionne touchantAlt+T
Sélectionne touchant, même couleurAlt+S
 
Fusion/Coupe :Touches
CoupeAlt+V
Fusionne à la moyenneCtrl+W
Fusionne au dernier sommet sélectionnéCtrl+E
 
Ecran graphique :Touches
Réinitialise la vueCtrl+R
Zoom ++
Zoom --
GrilleCtrl+G
RèglesCtrl+L
Emule bouton souris gaucheK
Emule bouton souris droitL
Emule bouton souris milieuM
 
Mode manipulation :Touches
Sélection1
Déplacement2
Rotation3
Echelle4
CombinéC
 
Mode référentiel :Touches
Déplace le manipulateur au centre de la sélectionA
 
Mode sélection entité :Touches
Point/SommetF2
FaceF3
LigneF4
Sous-fichier/primitiveF5
 
Mode ajout :Touches
Ajoute commentaire0
Ajoute point5
Ajoute ligne8
Ajoute triangle6
Ajoute quadrilatère7
Ajoute ligne conditionnelle9
Ajoute distanceD
Ajoute angleP
 
Mode insertion :Touches
Ajoute fin de fichier/position curseur texteI
 
Fenêtre Editeur texte :Touches
Ajoute référence de sous-fichier (à compléter par le nom du fichier)Ctrl+R
Edition coordonnées de sommets ("SyncEdit")Alt+Maj+R
Sortie de "SyncEdit"Echap (Esc)
Résolution rapide de tous les problèmes de la sélectionAlt+F
Sélectionne toutCtrl+A
Décompose la sélectionAlt+I
Arrondit la sélectionAlt+C
Annule la dernière actionCtrl+Z
Rétablit la dernière action annuléeCtrl+Y
SauveCtrl+S
Ouvre la boite de dialogue "Find/Replace"Ctrl+F
 

Depuis la version v0.8.3 il est possible de personnaliser les raccourcis clavier. Voir chapitre suivant.

 

Configuration

Configuration des raccourcis clavier

Aller le menu déroulant "Tools and Options / Options" et sélectionner l'onglet "Customise Shortkeys" dans la boite de dialogue qui s'ouvre.

Faire un double-clic sur une "Description" puis taper la nouvelle touche ou combinaison de touches.

Configuration des couleurs de l'interface

Aller le menu déroulant "Tools and Options / Options" et sélectionner l'onglet "Customise Colours" dans la boite de dialogue qui s'ouvre.

Faire un double-clic sur une "Description" puis sélectionner une nouvelle couleur de base ou personnalisée dans le panneau qui s'ouvre.

Configuration divers

Aller le menu déroulant "Tools and Options / Options" et sélectionner l'onglet "Misc. Options" dans la boite de dialogue qui s'ouvre.

Cocher si besoin l'option :

Sélectionner si besoin la configuration des fenêtres :

Ou modifier si besoin les options de configuration au moment de l'installation :

 

Tutoriels

Tutoriels vidéo

Tutoriels de l'auteur du programme.

Tutoriel : La technique CSG

Voici un exemple basé sur le tutoriel développé par Gerald Lasser pour créer la pièce 20455. Voir origine sur le forum LDraw.org : 20455 - Hemisphere 9 x 4 x 7 (from Jurassic World).

Nota : Pour créer les images intermédiaires j'ai utilisé des méta-commandes 0 !LPE CSG_COMPILE temporaires à chaque étape.


Source BrickLink
Pièce 20455 :

1- C'est une nouvelle pièce utilisé actuellement uniquement dans le Set 75916 L'embuscade du Dilophosaure.

Définition des sphères :

1- Pour démarrer nous avons besoin de sphères pour les surfaces extérieur et intérieure.
2- J'ai fait un premier essai avec PathTruder, puis j'ai voulu essayer la fonction CSG de LDPartEditor.
3- Pour démarrer nous avons besoin de sphères de haute résolution (c'est-à-dire avec 48 faces par tour).

0 !LPE CSG_QUALITY 48
0 !LPE CSG_ELLIPSOID OuterSphere  16 0 68 0 85 0 0 0 85 0 0 0 85
0 !LPE CSG_ELLIPSOID InnerSphere  16 0 68 0 82.50 0 0 0 82.50 0 0 0 82.50
Définition des parties intérieures :

1- J'ai décidé de ne pas utiliser ici la haute résolution et donc je reviens à 16 faces par cylindre.
2- Les parties intérieures sont toutes formées de cylindres. Ces sont les bases des trous d'axe et du tenon plein.
3- Le tenon plein a été mis d'une couleur transparente pour voir ce qui se passe à l'étape suivante.

0 !LPE CSG_QUALITY 16
0 !LPE CSG_CYLINDER  AxleHoleR  16 50 18 0 0 25 0 0 0 9 9 0 0
0 !LPE CSG_CYLINDER  AxleHoleL  16 50 118 0 0 25 0 0 0 9 9 0 0
0 !LPE CSG_CYLINDER  BlindStud  47 50 18 20 0 20 0 0 0 9 9 0 0
Définition des trous :

1- Nous avons besoin de définir des cylindres de 4 LDU de rayon pour faire les trous à la base des trous d'axe.
2- Egalement un cylindre légèrement plus grand (5 LDU) pour définir l'évidement sous le tenon.

0 !LPE CSG_CYLINDER  HoleR    16 50 18 0 0 25 0 0 0 4 4 0 0
0 !LPE CSG_CYLINDER  HoleL    16 50 118 0 0 25 0 0 0 4 4 0 0
0 !LPE CSG_CYLINDER  PocketR  16 55 18 20 0 25 0 0 0 5 5 0 0
Définition des outils de coupe de la sphère :

1- Définir d'abord le cube permettant d'enlever la moitié de la sphère.
2- Puis les cubes permettant de limiter la moitié de la sphère restante.

0 !LPE CSG_CUBOID    Cube  16 90 68 0 90 0 0 0 90 0 0 0 90
0 !LPE CSG_CUBOID    l  16 90 98 0 90 0 0 0 90 0 0 0 90
0 !LPE CSG_CUBOID    m  16 90 38 0 90 0 0 0 90 0 0 0 90
Démarrage de l'usinage des éléments de base internes :

1- La première étape est d'unifier les éléments internes.
2- La seconde est d'enlever l'évidement du tenon. J'ai essayé de le faire à la fin, mais cela ne forme pas la base de l'évidement, donc je l'ai fait à cette étape.

0 !LPE CSG_UNION AxleHoleR AxleHoleL InnerParts
0 !LPE CSG_UNION InnerParts BlindStud InnerParts
0 !LPE CSG_DIFFERENCE InnerParts PocketR InnerParts
Puis coupe par la sphère interne :

1- La troisième étape et des couper les parties internes avec la forme de la sphère intérieure, car elles ont besoin d'être attachées à cette surface.

0 !LPE CSG_INTERSECTION InnerParts InnerSphere InnerParts

Faire le bol :

1- La partie interne étant faite, je dois faire le bol lui-même.
2- La première étape est de couper la sphère extérieure par la moitié (partie commune sphère/cube).
3- La seconde est d'enlever l'intérieur avec la seconde sphère (partie rouge).

0 !LPE CSG_INTERSECTION OuterSphere Cube OuterSphereHalf
0 !LPE CSG_DIFFERENCE OuterSphereHalf InnerSphere BowlHalf
Ajouter les parties internes :

1- Maintenant il faut ajouter les parties internes dans le bol.

0 !LPE CSG_UNION BowlHalf InnerParts BowlHalf
	
Percer les trous :

1- Puis, percer les trous. Le trou sous le tenon doit être fait une nouvelle fois.


0 !LPE CSG_DIFFERENCE BowlHalf HoleR BowlHalf
0 !LPE CSG_DIFFERENCE BowlHalf HoleL BowlHalf
0 !LPE CSG_DIFFERENCE BowlHalf PocketR BowlHalf
Couper les extrémités :

1- Finalement nous avons besoin de couper les éléments non désirés et nous obtenons le résultat CSG final.
2- Merci à Nils pour ce beau développement qui permet d'avoir cette partie centrale de la pièce très lisse.

0 // Cut off the Top and Bottom of the bowl
0 !LPE CSG_INTERSECTION BowlHalf l BowlHalf
0 !LPE CSG_INTERSECTION BowlHalf m BowlHalf
0 !LPE CSG_COMPILE BowlHalf
Résultat compilé final :

1- Avec le bouton "Inline Selection" décomposer la dernière commande (CSG_COMPILE), pour obtenir un maillage de triangles.
2- Il faut ensuite utiliser "Rectifier" et "Edger2" pour convertir les triangles en quadrilatères et ajouter des lignes de bords et lignes conditionnelles.
3- Egalement, remplacer certaines parties par des primitives.

0 // Inlined: 0 !LPE CSG_COMPILE BowlHalf
3 16 84.27281 79.09473 0 83.55184 79.09473 10.999809 84.27281 68 11.094727
3 16 84.27281 79.09473 0 84.27281 68 11.094727 85 68 0
...
Terminer la pièce :

1- Ajouter les parties manquantes avec les outils traditionnels.

Compléments sur la technique CSG

Gérard Lasser donne des informations complémentaires dans le même message du forum LDraw.org. Nota : Ces tests ont été faits avec la version 0.8.0 Beta de LDPartEditor.

Problématique des jonctions en T :

1- Je viens de remarquer que la décomposition finale (Inline) du CSG donne beaucoup de jonctions en T.
2- Si je coupe la première sphère directement par les cubes, le résultat est très bon après décomposition. Voir ci-contre.

Maillage superflu :

1- Lorsque je veux soustraire la sphère intérieure et décomposer le résultat en .DAT, tout un tas de triangles supplémentaires se produisent.
2- Des jonctions en T se produisent également après le "percement" des trous.
3- On dirait qu'il y a quelques ajustements à faire...
4- J'ai essayé de jouer avec la valeur Epsilon, sans avoir de meilleur résultat.
5- J'ai pensé que l'épaisseur entre les deux sphères (2,5 LDU) était trop mince, mais les triangles étranges ne dépendent pas de la taille de la sphère intérieure. Quand je fais la sphère complète avec CSG, j'obtiens également une "ombre" de l'intersection du trou d'axe avec la sphère intérieure projeté sur la sphère extérieure.

Solution séparation inter/exter :

1- Je peux éviter ce grand nombre de triangles superflus en faisant les surfaces intérieures et extérieures dans deux CSG séparés.
2- Mais je dois faire le premier CSG, éditer le résultat et supprimer le maillage de triangles superflus, puis faire la même chose avec le second CSG et enfin fusionner les deux.

Solution fusion des sommets :

1- On peut nettoyer les jonctions superflues en fusionnant les sommets.
2- Cette fonction cesse parfois de fonctionner. Il faut alors fermer et rouvrir le fichier. Problème corrigé en v0.8.1.
3- Patience et longueur de temps ... (La Fontaine).

Conclusion : L'outil CSG est vraiment sympa, mais je ferai maintenant la forme dans une approche en deux étapes.

Depuis que ce tutoriel a été fait de nouveaux outils sont apparus permettant d'améliorer les résultats obtenus grâce en particulier à TJunctionFinder et MeshReducer.

Tutoriel : Projeter un point sur une ligne

Voici un exemple développé par Nils Schmidt pour déplacer un seul point (vertex) en le projetant sur une ligne définie par ses deux points extrêmes.

Point de départ :

1- Créer la ligne et le point avec les commandes LDraw suivantes :

0 // "Move on Line" Tutorial
2 24 0 0 0 4 6 0
0 !LPE VERTEX 4 4 0
Sélection de la ligne :

1- Sélectionner les 2 points de la ligne (mode "Select" (1) et mode "Vertex" (F2)).

Passer en mode "Move on Line" (déplacer sur la ligne) :

1- Cliquer sur le bouton "Move on Line" de la fenêtre graphique (bouton )
2- Sélectionner le point qui doit être "déplacé" sur la ligne.

Déplacement :

1- Puis cliquer sur "Merge/Split / Set X/Y/Z (for Selection)".
2- Décocher les axes X et Z, et laisser coché Y avec la valeur 4.
3- Valider en cliquant sur "OK".

Résultat :

1- Le point s'est déplacé dans le plan XZ (axes rouge et bleu) avec Y=4 (axe vert).
2- Sélectionner le point déplacé et arrondir la valeur du résultat avec le bouton "Round".
3- Le point est maintenant sur la ligne, à la position X=2.667, Y=4, Z=0.

 

En cas de problème

Attention, l'auteur précise que la version actuelle (v0.8.25) est une version Beta. Bien qu'elle ait été soigneusement testée et développée, il y a encore des problèmes répertoriés dans cette version. Il y a un risque potentiel de perte de données.

Les données de configuration sont stockées dans le fichier : config.gz (binaire). En cas de problème, en particulier si la fenêtre graphique ne s'affiche pas, il suffit de supprimer ce fichier.

Nota : A l'attention des Beta testeurs, un fichier error_log.txt est créé et peut contenir des informations de débogage utiles à l'auteur du programme pour corriger les problèmes. Ce fichier peut être envoyé automatiquement avec la commande "Tools and Options / Upload Error Logs".


Message de confirmation avant envoi du fichier.

Si aucune fenêtre ne s'ouvre, il est possible que vous tentiez de lancer la version 32 bits (x86) sur un système 64 bits. Installez la version 64 bits (x64) de LDPartEditor.

Si aucune fenêtre ne s'ouvre, il est aussi possible que votre version de Java ne soit pas à jour. Voir le fichier error_log.txt pour connaître le message d'erreur.

 

Améliorations souhaitables

Voici une liste d'améliorations souhaitables ou à envisager qui amélioreraient les possibilités du programme et sa facilité d'utilisation.

 

Droits et Copyright

Le programme LD Part Creator appartient à son auteur : Nils Schmidt.
Les autres programmes cités appartiennent à leurs ayants droits respectifs.

Cette page en Français est de J.C. Tchang.

Traduction et Adaptation : J.C. Tchang.