LD Part Editor
(LDPartEditor ou LDPE ou LPE)

Mise à jour de la page : 16 mars 2023.
    
J.C. Tchang
English Version
On Autor's Site

And maybe...One day....

Ce manuel est basé sur la version 1.8.67 - 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 (38 Mo).

Fichiers de configuration des barres d'outils

Télécharger sur le forum LDraw (optionnel ou périmé avec la version actuelle) :

Version développeur

Depuis 12-2019, l'auteur du programme à mis en place une procédure, utilisant Github Actions, pour créer sa propre version de LDPE et générant un exécutable Windows, Linux et Mac OS X. Permet également de créer LDPE sur sa propre machine Linux avec le secours de JDK 8 et Apache Ant 1.7 ou supérieur.

Voir pour plus d'informations : [LDPartEditor] Developers can now build their own version of LDPE (en Anglais).

 

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. Inutile depuis la version 1.8.54 (02-2022).

Nota : Depuis la version v0.8.4b il faut avoir la version 8 de Java (v1.8.0 64 bits minimum).

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 et lancement 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.

Installation sous Windows :

  1. Télécharger et décompresser LDPartEditor_win32_x64.zip.
  2. Installer (double clic) LDPartEditor-1.8.67.msi ou la dernière version.
  3. Lancer LDPartEditor à partir du menu de démarrage.

Installation sous Linux :

  1. Télécharger et décompresser LDPartEditor_linux_x64.zip.
  2. Installer ldparteditor_1.8.67-1_amd64.deb ou la dernière version.
  3. Lancer LDPartEditor à partir du menu ou le lanceur.

Installation sous Mac OS X :

  1. Télécharger et décompresser LDPartEditor_mac_x64.zip.
  2. Monter LDPartEditor-1.8.67.dmg.
  3. Glisser LDPartEditor.app vers le dossier "Applications".
  4. Copier ldparteditor.sh vers votre dossier "home".

Configuration de LDPartEditor

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

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 / Options...", onglet "Misc. Options". Voir : Configuration options diverses.

On peut aussi aller dans le menu déroulant : "Tools / 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. Depuis la version v0.8.53, les données de configuration sont stockées dans le fichier binaire : settings.gz, se trouvant dans le dossier : C:\Users\tchang\AppData\Roaming\LDPartEditor (en changeant tchang par votre nom d'utilisateur Windows).

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 / 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 / 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 options diverses.

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 / 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.

Gestion des fichiers de configuration LDraw

LDPartEditor utilise deux fichiers de configuration LDraw qui peuvent être téléchargés sur LDraw.org en cas de mise à jour sur ce site.

Le fichier LDConfig.ldr avec le menu : "Tools / LDraw Library Config / Download ldconfig.ldr". Ce fichier est utilisé pour la configuration des couleurs et peut avoir une version alternative. Voir : Fichier LDConfig.ldr.

Le fichier Category.txt avec le menu : "Tools / LDraw Library Config / Download categories.txt". Ce fichier contient la liste des catégories de pièces officielle et est utilisé par le menu déroulant "0 !CATEGORY" de l'onglet "LDraw Header" lorsque l'on ajoute une méta-commande d'entête.

Ces deux fichiers sont installés dans le dossier de la bibliothèque de pièces LDraw.

Sauvegarde des paramètres

Le paramétrage utilisateur du programme peut être sauvegardé avec le menu : "Tools / Save User Settings". Il est sauvegardé dans un fichier binaire compressé "*.gz".

Un paramétrage utilisateur sauvegardé peut être rechargé avec le menu : "Tools / Load User Settings".

Sortie de LDPartEditor

Cliquer sur le bouton rouge ou la croix à 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.

Champ de saisie numérique

Depuis la version v0.8.36b les champs de saisie numériques ont évolués. On les trouve dans les panneaux grille de positionnement, conversion d'unités, ..., ou les utilitaires de modification (déplacement, rotation, ...), ou encore les utilitaires du bouton "Tools".

La valeur de chaque champ peut être modifiée en tapant une nouvelle valeur, 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 latérales. Cette valeur peut avoir une précision plus grande que celle affichée.

A droite de chaque champ une petite ampoule affiche les limites de la valeur du champ si elle est survolée. Elle se transforme en panneau de signalisation "danger" et donne la valeur réelle si elle est différente de celle affichée dans le champ concerné.

Attention, lors d'un copier/coller de la valeur d'un champ c'est la valeur affichée qui est copiée et non la valeur réelle.

Panneau grille de positionnement

Dans le panneau à gauche de la fenêtre graphique, onglet "(1) 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.

En dessous l'échelle initiale (Initial Scale) en LDU à saisir, avec affichage de l'échelle finale lors d'une mise à l'échelle à la souris. Le champ "Scale Snap" est mis à jour en conséquence.

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 ...".

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 conversion d'unités

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

Entrer une valeur dans l'un des champs LDraw Unit [LDU], Millimetre [mm], Stud [stud] ou Inch [in] permet d'avoir la correspondance dans les 3 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.

La petite ampoule/panneau de signalisation affiche les limites/la valeur réelle du champ concerné (voir plus haut).

Panneau tolérance entre sommets

Un paramétrage de distance entre sommets assez proches pour les considérer uniques se trouve à la fin du panneau grille de positionnement, onglet "(1) Snapping/Converter".

Entrer une valeur en LDU pour la distance 3D réelle (de 0 à 1 LDU), ou une valeur en pixels pour la projection 2D de la distance (de 1 à 9999).

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.

Panneau sélection

Dans le panneau à gauche de la fenêtre graphique, onglet "(2) 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), de distance 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 / Distance Length" affiche la distance entre les points 2 et 3, puis suivent la position des 3 points de définition.

Pour les distances le champ "Protractor / Distance Length" affiche la distance ou longueur entre les 2 extrémités, puis suivent la position des 2 points de définition.

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.

A droite de chaque champ de saisie une petite ampoule affiche les limites de la valeur du champ si elle est survolée. Elle se transforme en panneau de signalisation "danger" et donne cette valeur si la valeur réelle est différente de celle affichée dans le champ concerné.

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 "(3) 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.

A droite de chaque champ de saisie une petite ampoule affiche les limites de la valeur du champ si elle est survolée. Elle se transforme en panneau de signalisation "danger" et donne cette valeur si la valeur réelle est différente de celle affichée dans le champ concerné.

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.

Depuis la version v0.8.36b, on peut ajouter une primitive par un cliquer-glisser vers l'éditeur texte.

Panneau visualisation (vues)

Le panneau visualisation affiche une ou plusieurs vues de la pièce en cours. La vue active est la vue ayant une bordure bleu claire. Les autres vues ont une bordure rouge, ou noire s'il n'y a pas de fichier d'ouvert. Une vue est active lorsque l'on clique dedans.

Si toutes les vues sont fermées, cliquer sur le bouton au centre du panneau pour en ouvrir une :

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") :

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.

Déplacement automatique

Lorsque "Translate the 3D view by moving the cursor to the view border" est coché dans "Tools... / Options..." onglet "Misc. Options", 4 flèches apparaissent sur la bordure de la vue active.

En positionnant le curseur de la souris sur une de ces flèches, la vue se déplace automatiquement dans la direction indiquée.

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.

Le fichier ou primitive sélectionné dans le panneau projet s'ouvre dans l'éditeur 3D avec le bouton "3D", dans l'éditeur 3D et l'éditeur texte avec le bouton "txt".

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

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

Lorsqu'on ferme un onglet de l'éditeur texte, l'onglet correspondant de l'éditeur 3D se ferme également.

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 (les éléments cliqués), "Vertex @" avec [les coordonnées] du clic/point/sommet précédent :

En mode adjacent, s'affiche également ""Move Adjacent Data" is ON" dans la barre de statut.

En mode déplacement interactif ou échelle interactive, s'affiche également "delta" avec la distance parcourue ou le facteur d'échelle appliqué :

En mode rotation interactive, s'affiche également "rotation" avec l'angle parcouru :

En mode sélection d'entité, s'affiche derrière la vue active la liste des différents éléments sélectionnés :

En mode sélection jusqu'à 4 points, s'affiche les coordonnées des points sélectionnés :

Nota : Il y a une certaine logique derrière leur ordre affiché. Le sommet le plus haut est affiché en premier.
Si ~ est affiché devant les coordonnées, les valeurs sont arrondies.

En mode sélection d'un seul sous-fichier, s'affiche () les éléments sélectionnés, le nom du sous-fichier et du fichier en cours, l'état du zoom :

 

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 graphique.

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.

Depuis la version v0.8.49, un clic dans le panneau listing désactive le mode création d'entités de la fenêtre graphique.

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 tous les problèmes 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

Nota : Cette liste est extraite des fichiers DatParser.properties et VertexManager.properties du dossier src/org/nschmidt/ldparteditor/i18n des sources.

 

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 / Options", onglet "Misc. Options" et le menu déroulant "Text and 3D editor arrangement". Il faut ensuite relancer le programme.

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

Avec le menu "Tools / + 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.

Le menu contextuel de la fenêtre texte "Hide" permet de cacher la sélection et "Show" permet de la réafficher.

Le menu contextuel de la fenêtre texte "Draw Selection" permet d'afficher la sélection seule.

Le menu contextuel de la fenêtre texte "Draw Until Selection" permet d'afficher du début du fichier jusqu'à la sélection.

 

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.

Depuis la version v0.8.49 il est possible de sélectionner plusieurs fichiers .dat, mais un bug (manque un "\") ne permet pas d'ouvrir les fichiers (corrigé en v0.8.49b).

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 ou plusieurs fichiers à 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.

En v1.8.56, un glisser/coller d'un fichier à partir de l'explorateur Windows dans la fenêtre 3D permet d'ouvrir un nouvel onglet avec ce fichier et dans la fenêtre texte d'en afficher le contenu. Le nom du fichier apparait dans le panneau projet avec (!) devant.

Un glisser/coller peut également être opéré sur l'icône du programme sur le bureau ou ouvert avec le menu contextuel "Ouvrir avec" de Windows.

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

Nota : Depuis la v0.8.31, il est possible d'insérer directement dans la fenêtre texte une ligne d'historique avec Ctrl+H :

0 !HISTORY 2017-04-11 [tchang] à compléter

Nota : Depuis la v0.8.31, il est possible d'insérer directement dans la fenêtre texte une ligne de mots-clefs avec Ctrl+K :

0 !KEYWORDS à compléter

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 :

Gestion de sous-fichier vide

Depuis la version v1.8.55, il est possible de voir un message "Warning" sur les références d'un sous-fichier vide ("Empty subfile").

Il est aussi possible de transformer un sous-fichier vide et le "voir" comme un sommet unique dans l'éditeur 3D (point rouge de l'image ci-dessus).

Après sélection d'un sommet, utiliser le bouton "Show Selection in Text Editor" pour afficher la première ligne qui utilise ce sommet. Répéter la fonction pour les lignes suivantes.

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.

Le contenu des sous-fichiers ou primitives se retouvent entre 2 lignes d'information (exemple) :

0 // Inlined: 1 16 -70 -2 16 -16 0 0 0 0 -2 0 1 0 rect2p.dat
...
0 // Inlined end: rect2p.dat

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 faces 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ésactive le mode création en cours.

Nota : Depuis la version v0.8.49, un clic dans le panneau listing désactive 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.

Le message "Move Adjacent Data" is ON s'affiche dans la barre de statut.

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é.

Mode verbeux

Avec certains utilitaires il est possible de cocher "Verbose", ce qui permet d'afficher des informations sur le résultat du traitement effectué par l'utilitaire.

Les premiers utilitaires recensés sont :

Depuis la version v1.8.66 ce mode est étendu et devient commun à presque tous les utilitaires et est sauvegardé.

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 la barre d'outils correspondante ou avec le menu contextuel de la vue 3D "Manipulator".

Le manipulateur est remis à l'origine et orienté au repère du monde avec le raccourci R.

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 (hold Ctrl to reset the scaling) : Déplace un sous-fichier sélectionné au manipulateur (touche Ctrl pour réinitialiser la mise à l'échelle).

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 :

Déplacer le manipulateur au clavier

Sélection des axes de déplacement :
F6 : Sélectionne l'axe X du manipulateur.
F7 : Sélectionne l'axe Y du manipulateur.
F8 : Sélectionne l'axe Z du manipulateur.
F9 : Sélectionne les axes X et Y du manipulateur.
F10 : Sélectionne les axes X et Z du manipulateur.
F11 : Sélectionne les axes Y et Z du manipulateur.
F12 : Sélectionne les axes X, Y et Z du manipulateur.
ESC : Annule la sélection des axes.

Déplacement du manipulateur :
Flèche Haut (Up) : Déplace dans la direction de la flèche (incrément).
Flèche Droite (Right) : Déplace dans la direction de la flèche (incrément).
Flèche Bas (Down) : Déplace dans la direction inverse de la flèche (décrément).
Flèche Gauche (Left) : Déplace dans la direction inverse de la flèche (décrément).

Nota : Dans la version testée (v0.8.33) le déplacement ne fonctionne qu'avec la grille large.

Déplacer le manipulateur à la souris

Hors sélection, en mode "Local" et "Move", on peut déplacer manuellement le manipulateur. Survoler une des flèches du manipulateur et l'axe concerné passe en jaune. Puis, cliquer et déplacer la souris pour bouger le manipulateur suivant cet axe. La valeur de déplacement s'affiche dans la barre de statut derrière "Delta".

Le pas de déplacement dépend du pas de la grille active.

 

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 constante :

    0 !LPE CONST <nom> = <valeur>

Voir chapitre : Constante (Type 0 !LPE CONST).

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_TJUNCTION_EPSILON <Tolérance supérieure à 0 (0.1 par défaut)>
    0 !LPE CSG_EDGE_COLLAPSE_EPSILON <Tolérance supérieure à 0 (0.9999 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_DONT_OPTIMISE

    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.

Le signe * marque le premier point sélectionné.

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.

Après sélection et copie de l'entité on peut coller les valeurs très précises dans un fichier ou la fenêtre texte :
0 !LPE DISTANCE 24 30 -48 -20 -90 24 -20
0 //~ DIST: 139.9428454762872113009796690611 DX: 120 DY: -72 DZ: 0
.

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 la ligne entre le premier et le second point définissant l'angle de départ qui utilise une autre couleur.

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 face (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 peut être plus précise que celui affiché dans la fenêtre graphique et peut être copié.

Après sélection et copie de l'entité on peut coller les valeurs très précises dans un fichier ou la fenêtre texte :
0 !LPE PROTRACTOR 6 42.13 134.6 0 101.31 -39.21 0 119.73 132.71 0 0 //~ ANGLE: 69.80177095923177 LENGTH: 77.623012695978246216561918476695 .

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.

Nota : On peut aussi créer des points à l'intersection de lignes avec le bouton "Calculate Line Intersection Points".

Constante (Type 0 !LPE CONST)

La version v1.8.60 introduit une fonctionnalité complexe et puissante : La méta-commande !LPE CONST.

Elle vous permet d'utiliser des constantes dans presque tous les types de lignes et de les remplacer par une valeur réelle si nécessaire.

Cependant, les constantes seront supprimées d'une ligne lorsque la ligne est modifiée à partir d'une autre source qui n'est pas la constante elle-même.

Lorsque vous modifiez ensuite la valeur d'une constante, vous devez cliquer manuellement sur le bouton de la fenêtre texte "Update/Compile Linked Subfile Data" (Mettre à jour/Compiler les données du sous-fichier lié).

Vous pouvez voir la valeur calculée dans la section des avertissements (Warnings) de l'éditeur de texte.

Syntaxe

0 !LPE CONST variable = expression
0 // variable et expression ne doivent pas contenir d'espace.

Exemple 1 : Simple

Avec cela vous pouvez faire des choses comme :

0 !LPE CONST red = 4
0 !LPE CONST green = "0x200ff00"

1 red 3 0 0 1 0 0 0 1 0 0 0 1 box.dat
1 green 0 0 0 1 0 0 0 1 0 0 0 1 box.dat
1 red -3 0 0 1 0 0 0 1 0 0 0 1 box.dat

Lorsque vous corrigez rapidement (Quick Fix) les avertissements pour les déclarations de variables, cela deviendra :

1 4 3 0 0 1 0 0 0 1 0 0 0 1 box.dat
1 0x200ff00 0 0 0 1 0 0 0 1 0 0 0 1 box.dat
1 4 -3 0 0 1 0 0 0 1 0 0 0 1 box.dat

Exemple 2 : Expression calculée

Autre exemple :

0 !LPE CONST angle = 20

0 !LPE CONST rx = cos(rad(angle))
0 !LPE CONST ry = sin(rad(angle))

0 !LPE CONST cx = 10*rx
0 !LPE CONST cy = 10*ry

1 7 10 0 0 1 0 0 0 1 0 0 0 1 box.dat

1 8 cx cy 0 rx -ry 0 ry rx 0 0 0 1.5 box.dat

0 !LPE CONST angle = angle+20
0 !LPE CONST rx = cos(rad(angle))
0 !LPE CONST ry = sin(rad(angle))

0 !LPE CONST cx = 10*rx
0 !LPE CONST cy = 10*ry

1 15 cx cy 0 rx -ry 0 ry rx 0 0 0 2 box.dat

Exemple 3 : Sous-fichier

Il est possible d'utiliser les constantes directement dans les sous-fichiers. Mais vous ne pouvez pas les remplacer automatiquement par un "Quick Fix" du fichier parent.

Fichier principal :

0 !LPE CONST subX = 8
0 !LPE CONST subY = 2
0 !LPE CONST subZ = 3

1 16 0 0 0 1 0 0 0 1 0 0 0 1 subfile.dat

Sous-fichier subfile.dat :

2 24 0 0 0 subX subY subZ
1 16 subX subY subZ 1 0 0 0 1 0 0 0 1 8-8sphe.dat

Exemple 4 : Combiné avec !LPE CSG

Vous pouvez également la combiner avec les méta-commandes CSG ou INLINE.

Sous-fichier subfile.dat :

0 !LPE CSG_QUALITY 16

0 !LPE CONST cubeH = 1
0 !LPE CONST cubeH2 = cubeH*2
0 !LPE CONST sphereH = cubeH*1.35

0 // Ne remplacera pas les constantes CSG
0 !LPE CONST csgA = 42

0 !LPE CSG_CUBOID    csgA  4 0 0 0 cubeH   0 0 0 cubeH   0 0 0 cubeH
0 !LPE CSG_ELLIPSOID csgB  1 0 0 0 sphereH 0 0 0 sphereH 0 0 0 sphereH

0 !LPE CSG_CYLINDER  csgC  2 0 -cubeH 0 .7 0 0 0 cubeH2 0 0 0 .7
0 !LPE CSG_CYLINDER  csgD  2 -cubeH 0 0 0 cubeH2 0 .7 0 0 0 0 .7
0 !LPE CSG_CYLINDER  csgE  2 0 0 -cubeH .7 0 0 0 0 .7 0 cubeH2 0

0 !LPE CSG_UNION csgC csgD csgD
0 !LPE CSG_UNION csgD csgE csgD
0 !LPE CSG_INTERSECTION csgA csgB csgF
0 !LPE CSG_DIFFERENCE csgF csgD csgF

0 !LPE CSG_COMPILE csgF

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 options diverses.

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 options diverses.

Quadrilatères non plans

Mode spécial
"Coplanarity Heatmap"

Pour visualiser les quadrilatères non plans, sélectionner dans le menu contextuel de la vue 3D : "Render Mode / Coplanarity Heatmap". Les faces planes sont colorées en bleu et les faces non planes sont colorées du vert au rouge suivant l'écart réel. Choisir une autre option du menu "Render Mode" pour annuler.

Les limites pour qu'un quadrilatère soit considéré comme plan est de 1 degré. A partir de 3 degrés il est considéré comme non valide. Ces valeurs par défaut peuvent être modifiées avec "Tools / Options", onglet "Misc. Options", et les valeurs "Coplanarity Warning" et "Coplanarity Error".

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
"Actions / 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 de la fenêtre graphique pour les couleurs les plus utilisées :

On peut aussi sélectionner les entités dans la fenêtre texte puis cliquer sur l'un des boutons de la barre des couleurs de la fenêtre texte.

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).

Nota : Depuis la v0.8.28 la couleur 16 est visuellement configurable par le panneau Configuration des couleurs de l'interface, champ "Override Colour 16".

Avec le dernier bouton "More..." on accède à toutes les couleurs officielles 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 Colour from Selection".

Nota : Si une couleur aléatoire ("Random Colours") 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 Colours" ou cliquer sur le bouton "More" puis "Random Colours" :

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 : A chaque clic sur le bouton "Decolour Part", les couleurs aléatoires sont changées.

Fichier LDConfig.ldr

Avec le menu déroulant "Tools / LDraw Library Config / 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 (raccourci J) 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".

Avec la version v1.8.66, le bouton "Swap BFC Winding" agit également sur les lignes et les lignes conditionnelles en inversant leurs extrémités.

 

Epaisseur des lignes

Dans la fenêtre graphique on peut changer l'épaisseur des lignes avec les boutons "Line Size" de 0 à 5.


Barre d'outils habituellement présentée verticalement entre les deux fenêtres.

Nota : Avec la version v1.8.63, plusieurs épaisseurs peuvent être sélectionnées en même temps (???).

En faisant un Ctrl+Clic sur un bouton on peut changer le facteur d'échelle de ce bouton dans la fourchette 1 à 10 en virgule flottante.

 

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.

Pour désélectionner toutes les entités du type actif utiliser Alt+clic souris dans une espace vide, ou si c'est sur une entité du type actif elle seule sera sélectionnée.

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 Type : Sélectionne tout ce qui est commun avec le même type d'entité.
...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 : Type sommet ou point.
Lines : Type ligne.
Triangles : Type triangle.
Quads : Type quadrilatère.
Conditional Lines : Type ligne conditionnelle.

All Types : Coche tous les types.
Nothing : Coche aucun type.

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 options diverses.

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

Déplacement

Déplacement par valeur d'une sélection

Pour déplacer une sélection cliquer sur le bouton "Actions / Translate Selection".


Le déplacement peut se faire suivant le référentiel local ou global en cliquant sur le bouton correspondant.

Le déplacement peut se faire suivant 1, 2 ou 3 directions en même temps en cochant les directions X, Y et Z 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.

Déplacement unique par valeur

Le déplacement d'un point ou sommet sélectionné unique peut utiliser la commande "Actions / 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.

Déplacement à la souris

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.

Pendant le déplacement, la distance parcourue s'affiche dans la barre de statut derrière "delta:".

Déplacement d'un point ou sommet

Lors de la sélection d'un point ou sommet unique un panneau "Vertex data" s'affiche en haut à droite de la fenêtre graphique.

Utilisation du bouton "Merge to existing vertex" : Si une valeur de position est modifiée dans la fenêtre vertex, elle est appliquée instantanément au sommet sélectionné. Mais il y a un cas particulier, lorsque les coordonnées de la cible sont déjà occupées par un autre sommet, vous devez alors cliquer sur le bouton de fusion, sinon les sommets se colleraient automatiquement et c'est un problème dans certaines situations.

Nota : 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

Rotation par valeur

Pour faire tourner une sélection cliquer sur le bouton "Actions / 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.

Rotation à 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.

Pendant la rotation, l'angle parcouru s'affiche dans la barre de statut derrière "rotation:".

Facteur d'échelle

Echelle par valeur

Pour changer d'échelle une sélection cliquer sur le bouton "Actions / Scale Selection". Entrer les valeurs d'échelle suivant l'axe voulu, puis définir le point fixe 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.


Le point fixe de référence 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.

Echelle à la souris

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.

Pendant le changement, le facteur d'échelle s'affiche dans la barre de statut derrière "delta:".

L'incrément de la mise à l'échelle dépend da la valeur de "Scale Snap" si "Initial Scale" affiche 0.

Echelle avec valeur initiale

Dans le panneau grille de positionnement onglet "Snapping" vous pouvez entrer dans le champ "Initial Scale" une valeur initiale en LDU pour la sélection en cours. La mise à l'échelle se fait par pas entiers. S'il y a une valeur dans le champ "Initial Scale", en mode échelle à la souris, le programme calcule un facteur de mise à l'échelle pour que la sélection soit agrandie à "Initial Scale"+1, "Initial Scale"+2, etc... (merci philo pour l'aide).

Le champ affiche la valeur finale obtenue et le champ "Scale Snap" est mis à jour en conséquence. Dans l'exemple ci-dessus "Initial Scale"=2 au départ. En final "Initial Scale"=2+1 et "Scale Snap" vaut 1+1/2.

Par exemple, pour mettre à l'échelle un 4-4edge.dat de taille 1, avec "Initial Scale"=1. La dimension passe de 1 à 2 puis 3, etc. De même en mettant "Initial Scale"=2, la dimension va faire 1, 1.5, 2, 2.5, etc (merci philo pour l'exemple). Le champ "Scale Snap" va prendre la valeur 1+1/augmentation_réelle.

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.

Duplication

Il est possible de dupliquer une sélection par copier/coller avec le menu contextuel "Copy" et "Paste" de la fenêtre graphique ou la fenêtre texte ou les raccourcis Ctrl+C et Ctlr+V.

Lors d'une modification (menu "Actions", il est aussi possible d'utiliser le bouton "Create Copy" lors de déplacement, rotation ou facteur d'échelle. Associé avec "Iterations" la copie peut être multiple en déplacement et rotation.

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 "Actions / 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.

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

Création de points à l'intersection de ligne/ligne et ligne/face

Avec le bouton "Calculate Line Intersection Points", on peut créer des points à l'intersection de lignes.

Si les 2 lignes ne sont pas dans le même plan le point est créé sur la seconde ligne, suivant la vue.

Les valeurs des points créés devront être arrondies.

Nota : Les lignes ne sont pas considérées comme infinies. L'intersection doit se situer entre les 2 points extrêmes de chaque ligne (segment de ligne).

Avec la version v1.8.56, les points sont également générés à l'intersection de lignes avec des faces.

Nota : Si aucune ligne n'est sélectionnée un message d'erreur apparaît :

Cliquer sur "Non" pour fermer le message, ou sur "Oui" pour faire le calcul sur tout le fichier.

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 face

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


Taper le nombre de fractions de la coupe.

En fonction du type d'entité sélectionné la fonction peut varier :

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

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

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

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

Exemple de résultat différent suivant le contexte avec "Actions / Split".

Sélection d'un triangle Coupe du triangle en 3 quadrilatères
Sélection d'une ligne
sur le bord d'un triangle
Coupe de la ligne en 2
et du triangle en 2 triangles

Ordre des sommets

Avec "Actions / Flip/Rotate Vertices, Lines and Faces" 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.

Le bouton "Swap BFC Winding" agit également sur l'ordre des sommets.

Avec la version v1.8.66, le bouton "Swap BFC Winding" agit également sur les lignes et les lignes conditionnelles en inversant leurs extrémités.

Recombinaison de paires de triangles

Avec la même commande que précédemment "Actions / Flip/Rotate Vertices, Lines and Faces" il est possible de recombiner les paires de triangles.

Avant Après

Les 2 triangles ne sont pas forcément dans le même plan, mais doivent avoir un bord commun.

Les 2 triangles ne sont pas forcément de la même couleur.

Cette commande est particulièrement utile pour le traitement d'un maillage en provenance d'un scanner, d'un programme de génération d'enveloppe 3D, ou d'une génération CSG. Cela permet de changer un creux entre 2 triangles en bosse ou inversement pour avoir un meilleur profil externe de la pièce.

Avant en "creux" Après en "bosse"

S'il y a une ligne conditionnelle sur le bord commun, elle est modifiée en conséquence.

Fusion de sommets

Avec le bouton "Actions / 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

Fusion suivant une direction

Pour fusionner une sélection suivant une direction cliquer sur le bouton "Actions / Merge To Nearest Face (Direction)".


Le déplacement peut se faire suivant le référentiel local ou global en cliquant sur le bouton correspondant.

Avant Après

Lissage de sommets

Avec le bouton "Actions / 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 "Actions / Subdivide (Catmull-Clark)" ou "Actions / 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

Cet utilitaire permet de générer des lignes et lignes conditionnelles sur les bords de faces.

Les conditions de création suivant l'angle a sont :

Nota : Les valeurs af, ac et ae sont paramétrables. voir ci-dessous.

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 LDPartEditor 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 / 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

Cet utilitaire permet de créer des faces pour former un texte correspondant à une police de caractères.


Exemples de résultat. L'utilitaire fonctionne soit caractère par caractère et l'encadrement de chaque lettre peut chevaucher la suivante comme ici à gauche (première version), soit globalement (deuxième version) comme ici à droite, soit sans fond (deuxième version).


Exemple de résultat avec la version v1.8.65 (troisième version). L'utilitaire génère moins de triangles et ajoute une marge sur le fond.

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.

Considérations sur Txt2Dat

Première version :

La première version du programme génère des lettres indépendantes. Pour avoir un fond uni rectangulaire il faut recréer manuellement le maillage, ce qui est long. Il produit également un maillage abondant. Conséquence, je continue à utiliser le programme original.

Seconde version :

En reprenant les arguments de philo dans son message : RE: [LDPE] 1.8.64 Released (rectifier defaults / usability / txt2dat).

J'ai fait (dixit Philo) quelques tests de la nouvelle version de Txt2Dat, il y a encore quelques trucs que je n'aime pas :

Troisième version :

Les deux premières versions ne donnant pas entièrement satisfaction, et en attendant la prochaine version, je recommande l'utilisation du programme original : txt2dat.

La version v1.8.65 de LDPartEditor répond à la plupart des problèmes soulevés avec la version précédente. Le maillage reste encore surabondant dans les parties droites.

Optimisation Rect : Rectifier

Cet utilitaire permet de fusionner des triangles et convertir quadrilatères et lignes en primitives rect.dat.

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

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

Cet utilitaire permet de générer des lignes à l'intersection de faces.

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

Cet utilitaire permet de projeter et découper un motif sur un maillage non plan.

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 / 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

Cet utilitaire permet de couper des faces à l'intersection d'autres faces. Le résultat est arrondi avec 6 décimales. L'analyse se fait uniquement sur la sélection.

Tous les triangles, quadrilatères, lignes et ligne conditionnelles du fichier coupé sont divisés là où ils rencontrent d'autres triangles ou quadrilatères.

La ligne d'intersection nn'est pas calculée. Il faut utiliser Isecalc avec le même fichier pour la créer.

Nota : Intersector cachera tout ce qui ne fait pas partie du résultat. Cliquer sur "Show All" de l'éditeur 3D pour restaurer la vue courante.

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.

Matrice de projection : SlantingMatrixProjector

Cet utilitaire permet de générer et d'appliquer sur une sélection une matrice de projection à partir de 2 ou 3 lignes. Ces lignes sont colorés en rouge (couleur 4) sur l'axe des X, en vert (couleur 2) sur l'axe des Y et en bleu (couleur 1) sur l'axe des Z.

1- Création des lignes de définition de la matrice

Exemple 1 : Créer deux lignes avec un sommet commun (plan XZ) :
2 4 0 0 0 1 0 0
2 1 0 0 0 0 0 1

Exemple 2 : Créer deux lignes avec un sommet commun (plan XY) :
2 4 0 0 0 1 0 0
2 2 0 0 0 0 1 0

Exemple 3 : Créer trois lignes avec un sommet commun (Espace 3D) :
2 4 0 0 0 1 0 0
2 2 0 0 0 0 1 0
2 1 0 0 0 0 0 1

2- Calcul de la matrice

Sélectionner uniquement les 2 ou 3 lignes dans la fenêtre de l'éditeur 3D.
Puis sélectionner le menu "Tools / SlantingMatrixProjector". La matrice est calculée.

3- Application de la matrice à la sélection

Sélectionner les éléments qui doivent être changés dans la fenêtre de l'éditeur 3D. Puis resélectionner le menu "Tools / SlantingMatrixProjector". La transformation est effectuée.

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 / Lines2Pattern".

Exemple :
Définition des zones à remplir
et couleurs à utiliser
Résultat de Lines2Pattern Résultat en affichant le
maillage des triangles
Meilleur résultat depuis
la version 0.8.43 Beta

Génération de faces sur profil : PathTruder

Cet utilitaire permet de créer des faces suivant profils, à partir de chemins de lignes.

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 / 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 : Les chemins et profils doivent être composés de lignes. Si elles sont dans un sous-fichier, alors le décomposer au préalable.

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

Génération de faces à partir de lignes : YTruder

Cet utilitaire permet de créer des faces orientées à partir de lignes.

Exemple :
Sélection des lignes
formant un chemin
Résultat de YTruder avec
distance de 10 LDU

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

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

Cet utilitaire permet de fusionner des sommets voisins.

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

Cet utilitaire permet de créer des entités formant anneau ou cône en privilégiant l'utilisation de primitives.

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". 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

Modification par Recherche/Remplace

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

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).

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. En v0.8.38 une nouvelle version du moteur CSG améliore les résultats.

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.

Exemple d'utilisation de CSG_QUALITY

Vous pouvez utiliser la valeur de l'opérateur CSG_QUALITY pour définir le nombre de côtés ou d'arêtes de CSG_CYLINDER, CSG_ELLIPSOID, CSG_CONE et CSG_CIRCLE.

0 BFC CERTIFY CCW

0 ;) // Ellipsoid with quality 4
0 !LPE CSG_QUALITY 4
0 !LPE CSG_ELLIPSOID e 7 0 0 0 1.35 0 0 0 1.35 0 0 0 1.35

0 ;) // Cylinder with quality 5
0 !LPE CSG_QUALITY 5
0 !LPE CSG_CYLINDER c  15 2 -1 0 .7 0 0 0 2 0 0 0 .7

0 !LPE CSG_COMPILE e
0 !LPE CSG_COMPILE c

Ce code génère ceci :

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

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

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 / 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).

Nota : Si après l'écran d'attente de chargement rien ne se passe, c'est que la pièce demandée n'est plus sur "Part Tracker" (Elle a été Renommée, Supprimée ou Officialisée).

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

Nota : Avec le version v1.8.66, cet utilitaire ne fonctionne pas et renvoi un message d'erreur au moment du chargement de la pièce :

Cela est du au changement d'adresse de la bibliothèque sur le serveur LDraw.org et des problèmes d'incompatibilité et de sécurité. Cela a été corrigé en v1.8.67.

 

Barres d'outils et menus

Barres d'outils communes

Les barres des couleurs courantes peuvent être configurées, par un Ctrl+Clic sur chaque bouton. Il suffit ensuite de sélectionner une autre couleur dans la table qui s'ouvre. Chaque modification affecte les 2 barres (fenêtre graphique et fenêtre texte).

En 2004 est apparu un changement dans la gamme des couleurs standards : Par cohérence il est bon de modifier les couleurs courantes en fonction de l'époque ou est apparu la pièce à motif que vous êtes en train de réaliser :
Avant 2004 :
     
6
Marron
(Brown)
7
Gris Clair
(Light Gray)
8
Gris Foncé
(Dark Gray)
Après 2004 :
     
70
Brun Rougeâtre
(Reddish Brown)
71
Gris Bleuté Clair
(Light Bluish Gray)
72
Gris Bleuté Foncé
(Dark Bluish Gray)

Barres d'outils fenêtre graphique

Barres d'outils fenêtre texte

Menu contextuel fenêtre graphique

Menu contextuel fenêtre texte

Menu contextuel PrimGen2

 

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
Ajoute à la sélection l'entité cliquéeCtrl+Clic souris
Désélectionne la sélection du type actifAlt+Clic souris
 
Fusion/Coupe :Touches
Inversion de sommetsF
CoupeAlt+V
Fusionne à la moyenneCtrl+W
Fusionne au dernier sommet sélectionnéCtrl+E
 
Conversion/Création :Touches
Convertit les lignes conditionnelles en lignes ordinairesMaj+L
Convertit les lignes ordinaires en lignes conditionnellesMaj+C
Création de points à l'intersection de lignes et facesCtrl+Clic souris
 
Ecran graphique :Touches
Réinitialise la vueCtrl+R
Zoom ++
Zoom --
GrilleCtrl+G
RèglesCtrl+L
Emule bouton souris gaucheK
Emule bouton souris milieuM
Emule bouton souris droitL
Déplace vueAlt+Flèches clavier
Tourne la vueBouton central souris+Déplacement souris
Tourne la vue autour de l'axe perpendiculaire à l'écranCtrl+Bouton central souris+Déplacement souris
Tourne la vue autour de l'axe horizontal écranMaj+Bouton central souris+Déplacement souris
Tourne la vue autour de l'axe vertical écranAlt+Bouton central souris+Déplacement souris
Ferme la vue couranteQ
 
Sens de vue :Touches
Vue de faceCtrl+2 (pavé numérique)
Vue arrièreCtrl+8 (pavé numérique)
Vue de gaucheCtrl+4 (pavé numérique)
Vue de droiteCtrl+6 (pavé numérique)
Vue de dessusCtrl+5 (pavé numérique)
Vue de dessousCtrl+0 (pavé numérique)
Vue 3D isométriqueCtrl+3 (pavé numérique)
 
Mode de rendu :Touches
Pas de visualisation du sens des facesAlt+1 (pavé numérique)
Couleurs aléatoiresAlt+2 (pavé numérique)
Faces avant vertes / Faces arrières rougesAlt+3 (pavé numérique)
Faces arrières rougesAlt+4 (pavé numérique)
Sens des faces réellesAlt+5 (pavé numérique)
Sens des faces + Texture / Matériaux (Standard LDraw)Alt+6 (pavé numérique)
Mode spécial lignes conditionnellesAlt+7 (pavé numérique)
Affichage des quadilatères non plansAlt+8 (pavé numérique)
FilaireAlt+9 (pavé numérique)
 
Mode manipulation :Touches
Sélection1
Déplacement2
Rotation3
Echelle4
CombinéC
AdjacentB
 
Mode référentiel :Touches
Déplace le manipulateur au centre de la sélectionA
Réinitialise l'échelle lors du déplacement d'un sous-fichier au manipulateurCtrl
Réinitialise la position du manipulateur à l'origine et l'oriente au repère du mondeR
 
Mode sélection entité :Touches
Point/SommetF2
FaceF3
LigneF4
Sous-fichier/primitiveF5
 
Mode déplacement manipulateur :Touches
Sélectionne l'axe XF6
Sélectionne l'axe YF7
Sélectionne l'axe ZF8
Sélectionne les axes X et YF9
Sélectionne les axes X et ZF10
Sélectionne les axes Y et ZF11
Sélectionne les axes X, Y et ZF12
Annule la sélection des axesESC
Déplace suivant la flèche (incrément)Flèche Haut
Déplace suivant la flèche (incrément)Flèche Droite
Déplace suivant l'inverse de la flèche (décrément)Flèche Bas
Déplace suivant l'inverse de la flèche (décrément)Flèche Gauche
 
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
 
Sens des faces (BFC) :Touches
Inverse le sens des faces de la sélectionJ
 
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
Ajoute une ligne d'historique "0 !HISTORY"Ctrl+H
Ajoute une ligne de mots-clefs "0 !KEYWORDS"Ctrl+K
Déplace la ligne du curseur ou la sélection vers le hautAlt+Flèche Haut
Déplace la ligne du curseur ou la sélection vers le basAlt+Flèche Bas
 

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

 

Configuration

Configuration options diverses

Aller le menu déroulant "Tools / 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 :

Modifier si besoin la tolérance de planéité des quadrilatères :

Modifier si besoin le facteur d'échelle de la fenêtre d'affichage :

Modifier si besoin les options de configuration données au moment de l'installation :

Configuration des raccourcis clavier

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

Un message apparait pour annuler l'opération si le raccourci proposé est déjà attribué :

Configuration des couleurs de l'interface

Aller le menu déroulant "Tools / 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.

 

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 l'ensemble 75916 L'embuscade du Dilophosaure.

Définition des sphères :

1- Pour démarrer nous avons besoin de sphères pour les faces 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 face.

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 faces 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 "Actions / 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.

Tutoriel : Traitement de maillage

Voici un exemple de traitement de maillage effectué par Philo.

Nettoyage de maillage :

Pour la première fois depuis la sortie de LDPE (en V0.8.29), j'ai (dixit Philo) nettoyé un maillage 3D de la pièce 20380, provenant d'un scanner, et cela s'est assez bien passé. Un grand nombre de sommets se fusionnent, les paires de triangles s'inversent, et la position des sommets s'ajustent. MeshReducer n'a pas été utilisé. J'ai envisagé d'utiliser le lissage de sommets mais ça déforme complètement le motif. Non, la manip c'est d'ajuster les sommets un par un.

  • On sélectionne,
  • Raccourci A pour centrer le manipulateur,
  • L'ajuster à la normale de la face,
  • Déplacement de sommets plus ou moins parallèlement à la face locale.
  • Long et pénible, mais ça marche et on fait vraiment ce qu'on veut.

    Création de motif :

    J'ai (dixit Philo) aussi fait avec LDPE le modèle de la pièce 20380p01, avec le motif sur les chaussures. LPC est presque impuissant ici puisque le motif est enveloppé autour de l'objet 3D. Auparavant j'ai utilisé Meshmixer pour créer ce type de motif. Ici j'ai seulement utilisé LDPE.

  • En premier j'identifie les triangles qui vont recevoir le motif, puis je les affine en les coupant. Pour cela 2 méthodes possibles avec Coupe de ligne et face :
    • Soit couper chaque triangle, mais cela crée 3 quadrilatères qu'il est alors possible de transformer en 6 triangles dans la fenêtre texte avec Unrectifier. Cela est difficile à travailler.
    • Soit couper un bord de chaque triangle, en lui ajoutant si besoin une ligne superposée à ce bord. Cette solution est plus simple, même s'il faut ensuite supprimer les lignes de bords inutiles.
  • Puis, je colore tous les triangles qui correspondent, plus ou moins, au motif.
  • Enfin j'ajuste les sommets et inverse les paires de triangles pour avoir des courbes lisses.
    • Pour déplacer les sommets sans trop déformer la forme, en premier j'oriente le manipulateur : Je sélectionne le sommet que je veux déplacer, puis avec le raccourci clavier A je déplace le manipulateur sur ce sommet. Ensuite je l'oriente avec "adjust manipulator to nearest face normal".
    • Ensuite j'ajuste le sommet.
    • Si besoin, recombinaison des triangles adjacents avec "Actions / Flip/Rotate ... Faces", pour qu'il n'y ait pas de cassure dans le profil de la pièce.
  • Quand tout est fini je re-simplifie au maximum en fusionnant les sommets inutiles avec Ctrl+W ou Ctrl+E.
  • Naturellement, parfois, j'ai besoin d'affiner encore plus le maillage pour obtenir quelque chose de suffisamment lisse. La méthode de coupe des triangles en deux par un bord est la meilleure.
  • Tutoriel : Autocollant de forme quelconque

    Voici un tutoriel de Philo expliquant comment utiliser LD Part Editor (LDPE) pour créer un autocollant de forme quelconque à partir d'un motif dessiné avec LD Pattern Creator (LPC). Ce chapitre est la traduction libre de : Stickers: making a random shape one, sur le site LDraw.org.


    Créer le motif avec LD Pattern Creator (LPC), ici en exemple l'autocollant 190265d.dat, de l'ensemble Fabuland 350-3.


    Exporter le fichier au format LDraw et en vue de dessus avec "Fichier / Exporter DAT / Projection sur le plan XZ (-Y Dessus)".


    1- Ouvrir ce fichier dans LD Part Editor.
    2- Nous avons maintenant besoin de déplacer le motif en Y=-0.25 LDU, et créer le verso de l'autocollant à Y=0.
      - Sélectionner tout (Ctrl A).
      - Utiliser le menu "Actions / Set X/Y/Z (for Selection)".
      - Définir Y à -0.25.
      - Appuyer sur le bouton "Create Copy", puis le bouton "OK".


    En regardant de plus près, nous voyons que le motif a été correctement dupliqué.


    Mais, si nous regardons la face arrière, nous voyons que les faces ont un mauvais sens et apparaissent en rouge dans LDPE (pour activer ce mode d'affichage : Bouton droit de la souris, dans la fenêtre de visualisation et sélectionner : "Render Mode / Red Backfaces").


    Pour corriger cela, sélectionner une des faces du verso, appuyez sur Alt+C (ou sélectionner "Select / Connected") pour sélectionner toute la face arrière, puis inverser le sens des faces en appuyant sur la touche "J" ou l'icône de la barre d'outils "Swap BFC Winding".


    Nous devons maintenant enlever le motif du verso, afin de le simplifier et de minimiser le nombre de faces. Fondamentalement, nous devons sélectionner tous les sommets du modèle (mais pas le bord extérieur) et les réduire à un seul sommet (ou plusieurs pour les formes complexes avec des zones concaves). Cela peut être fait en sélectionnant les sommets avec une sélection, mais ici le motif est complètement entouré d'une bordure noire, donc nous allons l'utiliser. Sélectionner une face dans chaque région noire, puis cochez "Select / ...with Same Color (Alt+S)" et "Select / ...Connected (alt+C)".


    Poursuivre la sélection pour les autres régions noires.


    Nous réduisons alors les sommets en un seul avec "Action / Merge to Average (Ctrl+W)".


    Les étapes finales vont créer le bord de l'autocollant.
      - Sélectionner la face supérieure en sélectionnant une face, avec "Select / ...Connected (Alt+C)".
      - Ne pas oublier de décocher l'option "Select / ...with Same Color".
      - Puis utiliser l'outil "Tools / Edger2" avec une portée (scope) mis sur "Scope Selection".
    Cette opération crée une ligne de contour rouge autour de la face supérieure.


    Sélectionner une ligne de cette bordure et l'étendre à l'ensemble du bord avec "Select / ...with Same Type" puis "Select / ...Connected".


    Maintenant nous créons le bord de l'autocollant, par extrusion de cette ligne de bord, avec : "Tools / Ytruder". Travailler dans la direction Y ("Operation Axis"), avec un décalage ("Translation by distance") de 0.25 ("Value") et un angle de seuil de 90° ("Cond. Line Threshold"), pour éviter la création de lignes de bord.


    Le bord nouvellement créé peut avoir un mauvais enroulement. S'il apparaît rouge (comme ci-dessus), appuyez sur la touche "J" pour l'inverser (il reste sélectionné après l'opération Ytruder).


    Sélectionner à nouveau la ligne de bord rouge et appuyer sur "Suppr" pour la supprimer. Votre autocollant est terminé !

    Tutoriel : Pièce organique

    Voici une utilisation de LDPE faite par Gerald Lasser pour modéliser une pièce "organique", c'est-à-dire une pièce qui ne peut être modélisée par des volumes géométriques simples. Ces pièces ne peuvent être définies que par leur boite englobante.

    La pièce retenue est la pièce du monde Star Wars : 36032pb01 Corellian Hound with Tan Teeth and Orange Eyes Pattern.

    Voir origine de ce chapitre sur le forum LDraw.org : Organic Parts (en Anglais).

    Etat du projet :

  • Je voudrais (Dixit l'auteur Gerald Lasser) vérifier avec les utilisateurs de LDPE comment produire des "pièces organiques" qui ne sont pas dans le système compte tenu de leur forme complexe.
  • J'ai sélectionné le Chien de chasse Corellien (36032) pour essayer de modéliser ma première pièce.
  • Voici à gauche l'état d'avancement que je peux partager. Cela s'est plutôt bien passé, en fait plus lisse que je ne le pensais. Maintenant, la retouche de la partie arrière et la modélisation de la tête sont en attente.
  • Mon approche a été de prendre des photos orthogonales et de tracer les lignes principales avec des triangles dans LD Pattern Creator (LDPC).
  • Puis, d'importer le résultat dans LD Part Editor (LDPE) et de déplacer les sommets ...
  • Quelqu'un a une approche différente ?

  • Approches diverses :

  • Approche de Gerald Lasser : Utilisation de LDPC pour faire une vue de côté et une vue de dessus partielle à plat. Importation dans LDPE et déplacement des sommets pour créer l'épaisseur et le volume. Voir ci-dessus et les images à gauche.
  • Approche de Willy Tschager : Je modélise mes formes organiques en 3D via l'éditeur de sommets (point) de LDPE. Sommet par sommet.
  • Approche de Gerald Lasser : C'était mon point de départ, des triangles avec LDPC. Nota: Ce serait bien d'avoir une option pour n'ajouter que des lignes. Ceci est pour Nils :-), développeur de LDPC.
  • Je les déplace ensuite dans LDPE, crée des plans et en calcule les intersections ou déplace les sommets.
  • Approche de Philippe Hurbain (Philo) : Sensationnel. Hou la la! Travail très impressionnant! J'ai fait de nombreuses pièces en utilisant des méthodes similaires, mais je n'ai encore jamais essayé des formes aussi complexes.
  • Un outil que j'utilise souvent est Pathtruder pour obtenir des peaux lisses en un seul morceau, mais j'obtiens généralement les fichiers de chemin et de forme en utilisant des photos orthogonales et LDPE. Les dernières pièces que j'ai faites de cette façon sont les pièces de coque du catamaran Technic 2020, bientôt sur PT!
  • Résultat provisoire :

    Il faut encore fermer la partie gorge, mais voici un premier rendu de la version à motif avec à peu près toutes les lignes conditionnelles manquantes. Je ne suis pas encore satisfait à 100% de la partie de la face, je dois voir si je peux la retoucher un peu plus ... et simplifier les orteils.

    Tutoriel : Débutant essayant d'accomplir une tâche simple

    Ce tutoriel est basé sur la traduction d'un message du forum LDraw.org : LDPE Rookie trying to accomplish a simple task.

    Message de Robert B :

  • Je suis un petit nouveau sur LDPartEditor (<1 jour), mais il me semble qu'il me manque comment effectuer ce qui semble être une tâche facile.
  • A savoir, comment diviser un triangle/quadrilatère donné le long d'un axe spécifique.
  • Par exemple, étant donné le projet ci-contre, je veux simplement faire ressembler le côté jaune clair (à droite) au côté orange (à gauche).
  • J'ai essayé de combiner deux triangles en un quadrilatère, mais je n'ai pas pu voir comment diviser cela de la manière souhaitée.
  • J'ai essayé de diviser un triangle, d'ajouter des sommets...
  • Toute aide serait grandement appréciée !
  •   Approche de Philippe Hurbain :

  • Ce n'est pas la tâche la plus facile à réaliser avec LDPartEditor.
  • Ce que je ferais pour cela, c'est aussi dessiner des lignes de bord sur les côtés verticaux, les sélectionner puis les diviser avec "Actions / Split".
  • Supprimer les lignes de bord.
  • Définir les nouveaux sommets à la même hauteur à l'aide de "Actions / Set X/Y/Z (for Selection)".
  • Réorganiser les triangles et le tour est joué (ouf !).
  • Peut-être qu'un autre auteur de pièces a un moyen plus simple ?
  •   Approche de Willy Tschager :

  • Etant donné que les sommets à mi-chemin sont tous à la même hauteur :
  • Je dessinerais un quadrilatère (vu d'en haut) de sorte qu'il soit à 90 degrés par rapport aux triangles actuels
  • Régler la valeur Y du quadrilatère à la hauteur des sommets.
  • Sélectionner le quadrilatère et les triangles.
  • Utiliser : Isecalc.
  • Vous obtiendrez des sommets aux bonnes intersections.
  • Utiliser ces sommets pour redessiner les triangles.
  • Philippe Hurbain : En effet, une bonne méthode que j'utilise souvent, mais pour une raison quelconque je n'y ai pas pensé (Emoji rougissant).
  • Max Martin Richter : C'est comme ça que je fais. Parfois, j'utilise Isecalc et parfois Intersector pour cette tâche.
  • Message de Magnus Forsberg :

  • Le premier est facile à faire/séparer. Choisir le sommet unique A, puis sous "Actions", choisir "Merge To Nearest Edge And Split". (fusionne au bord le plus proche et le coupe).
  • Le second est un peu plus délicat. Sélectionner les sommets B et C, puis appuyer sur "Alt+V" pour créer un nouveau sommet entre eux. Mais il doit être ajusté, car il est créé exactement au milieu entre B et C. Ensuite, répéter et ajuster pour les autres.
  • Ou, supprimer tous les triangles jaunes, positionner le Manipulateur en A et copier/coller les triangles oranges en miroir.
  • Utiliser "Actions / Scale Selection" et fixer à "-1" sur l'axe de votre choix. Désélectionner les autres axes.
  • J.C. Tchang : Cette seconde solution présume une symétrie de l'ensemble.
  •   Approche de N. W. Perry :

  • Vous pouvez également simplement dessiner la figure souhaitée à l'aide de lignes ordinaires (type 2).
  • Puis, appuyer sur le bouton "Calculate Line Intersection Points" (Crée des points à l'intersection de lignes).
  • Puis, dessiner manuellement de nouveaux triangles/quadrilatères à partir des sommets résultants.
  •   Réponse de Robert B :

  • Merci à tous !
  • J'aimerais essayer chacune des méthodes suggérées si ce n'est pour aucune autre raison que d'apprendre ce qui est possible. Je ne peux pas dire que j'ai tout compris du premier coup, mais les informations fournies sont d'une aide immense !
  • PS - Je me réserve le droit de poser des questions complémentaires. (Emoji grand sourire).
  •  

    En cas de problème

    Attention, l'auteur précise que la version actuelle (v0.8.33) 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 settings.gz (binaire). En cas de problème, en particulier si la fenêtre graphique ne s'affiche pas, il suffit de supprimer ce fichier, se trouvant dans le dossier : C:\Users\tchang\AppData\Roaming\LDPartEditor (en changeant tchang par votre nom d'utilisateur Windows).

    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 / 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.