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.
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).
Télécharger sur le forum LDraw (optionnel ou périmé avec la version actuelle) :
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).
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.
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).
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).
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.
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.
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.
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.
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.
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.
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".
Cliquer sur le bouton rouge ou la croix à droite (par défaut) de la barre de titre de la fenêtre graphique.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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) :
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.
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.
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).
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.
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.
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.
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 :
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.
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.
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".
Nota : Cette liste est extraite des fichiers DatParser.properties et VertexManager.properties du dossier src/org/nschmidt/ldparteditor/i18n des sources.
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.
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.
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 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.
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 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.
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.
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.
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).
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 (???)
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".
Pour créer le sous-fichier ou la primitive, il faut :
Pour créer le sous-fichier ou la primitive, il faut :
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.
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.
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
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 :
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.
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.
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".
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.
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.
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.
Avec cette barre d'outils on passe du mode sélection aux modes déplacement, rotation, échelle et combiné.
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.
Avec cette barre d'outils, on passe d'un positionnement suivant un référentiel local ou global.
Avec cette barre du panneau grille, on sélectionne un type de grille large, moyenne ou fine pour positionner les entités.
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.
Dans ce mode on sélectionne une entité à travers une face de couleur transparente.
Dans ce mode le sens BFC des prochaines faces créées sera inversé.
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é.
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.
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".
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".
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).
Pour déplacer le manipulateur à l'origine d'un sous-fichier, suivre la procédure suivante :
Pour mettre le manipulateur dans le plan d'un triangle ou d'un quadrilatère :
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.
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.
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.
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.
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".
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.
0 !LPE VERTEX <x> <y> <z>
Voir chapitre : Point (Type 0 !LPE VERTEX).
0 !LPE CONST <nom> = <valeur>
Voir chapitre : Constante (Type 0 !LPE CONST).
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).
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.
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
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
.
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".
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.
0 !LPE CONST variable = expression
0 // variable et expression ne doivent pas contenir d'espace.
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
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
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
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
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.
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".
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".
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.
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"
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.
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".
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.
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.
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.
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.
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 :
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.
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é.
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 |
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".
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" |
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.
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.
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.
...Everything... : Sélectionne tout.
Select Single Vertex : Sélectionne un sommet unique.
Vertices : Type sommet ou point.
All Types : Coche tous les types. |
Il est possible de sélectionner un sommet unique, si l'on connaît sa position,
avec le menu "Select / Select Single Vertex" :
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.
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.
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.
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:".
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.
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.
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:".
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 |
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 |
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.
Pour projeter un point sur une ligne il faut suivre les étapes suivantes :
Voir comme exemple : Tutoriel : Projeter un point sur une ligne.
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 |
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.
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.
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 |
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 |
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. |
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.
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.
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.
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.
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.
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.
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.
Cet utilitaire permet de projeter et découper un motif sur un maillage non plan.
Pour utiliser cet outil :
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.
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.
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.
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
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.
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.
Cet utilitaire permet de remplir de triangles colorés des zones définies par des lignes chaînées.
Pour utiliser cet outil :
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 |
Cet utilitaire permet de créer des faces suivant profils, à partir de chemins de lignes.
Codes couleur à utiliser :
Pour utiliser cet outil :
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 |
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.
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.
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.
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). |
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 |
Avec le bouton "Split Quad into Triangles", on peut décomposer une sélection de quadrilatères en triangles.
Avant | Après |
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.
Pour trier le fichier cliquer sur le bouton "Find/Replace".
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).
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é.
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.
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.
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.
Les étapes de travail sont généralement :
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 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 |
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 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 :
Pour décomposer les objets CSG en maillage :
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.
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 :
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 :
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.
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) |
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.
...Everything... : Sélectionne tout.
Select Single Vertex : Sélectionne un sommet unique.
Vertices : Type sommet ou point.
All Types : Coche tous les types. |
Menu actions : Flip / Rotate Vertices, Lines and Faces : Inverse / Tourne les sommets, lignes et faces. Smooth Vertices : Lissage sommets.
Split : Coupe.
Merge To Average : Fusionne à la moyenne. Merge To Nearest Face (Direction) : Fusionne à la face la plus proche suivant une direction.
Set X/Y/Z (for Selection) : Fixe X/Y/Z pour la sélection.
Subdivise (Catmull-Clark) : Subdivise (méthode Catmull-Clark). |
Menu outils et options : PartReview : Validation de pièce "Part Tracker" : PartReview. Edger2 : Génération de lignes sur un maillage : Edger2. PrimGen2 : Génération de primitives : PrimGen2. Txt2Dat : Génération de motif texte : Txt2Dat. Rectifier : Optimisation : Rectifier. Isecalc : Génération de lignes d'intersections : Isecalc. SlicerPro : Projection de motif : SlicerPro. Intersector : Coupe d'entités : Intersector. SlantingMatrixProjector : Projection de matrice inclinée : SlantingMatrixProjector. Lines2Pattern : Génération de motif à partir de lignes : Lines2Pattern. PathTruder : Génération de faces sur profil : PathTruder. YTruder : Génération de faces sur chemin : YTruder. SymSplitter : Séparation de maillage : SymSplitter. Unificator : Arrondi de maillage : Unificator. Rings and Cones : Génération d'entités courbes imbriquées : Rings and Cones. TJunctionFinder : Recherche de jonctions en T : TJunctionFinder. MeshReducer : Réduction de maillage : MeshReducer.
|
Menu contextuel : Viewing Angles : Menu Angles de vue. Manipulator : Menu Manipulateur. View Actions : Menu Actions vue. Render Mode : Menu Mode de rendu. Synchronise... : Menu Synchronisation.
Close : Ferme le fichier ouvert à l'écran.
Cut : Coupe la sélection.
Grid Size : Taille de la grille à l'écran. |
Menu contextuel / Viewing Angles : Front : Vue de face. Back : Vue arrière. Left : Vue de gauche. Right : Vue de droite. Top : Vue de dessus. Bottom : Vue de dessous.
Two-Thirds : Vue 3D isométrique. |
Menu contextuel / Manipulator : Move the Manipulator to Origin : Déplace le manipulateur à l'origine. Orientate the Manipulator to World : Oriente le manipulateur au repère du monde. Adjust the Rotation Center : Ajuste le centre de rotation. 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. Move the Camera to the Manipulator Position : Déplace le point de vue à la position du manipulateur. Move the Manipulator to the Average Point of the Selection : Déplace le manipulateur au point moyen de la sélection. 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 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). 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. Adjust the Manipulator to the Nearest Vertex Normal : Ajuste le manipulateur à la normale du point le plus proche. Adjust the Manipulator to the Nearest Vertex Position Normal : Ajuste le manipulateur à la normale de la position du point le plus proche. 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. |
Menu contextuel / View Actions : Origin : Origine. Lights : Lumières. Mesh Lines : Lignes de maillage. Subfile Mesh Lines : Lignes de maillage de sous-fichier. Vertices : Sommets. Hidden Vertices : Sommets cachés. Conditional Control Points Vertices : Points de contrôle des lignes conditionnelles (sélectionnées). Stud Logo : Logo sur les tenons. LDraw-Lines : Menu Lignes LDraw. Grid : Grille. Ruler : Règle. XYZ-Axis : Axes XYZ. Perspective Label : Etiquette de perspective. Anaglyph 3D : Anaglyphe 3D (Vision 3D pour lunettes Rouge/Bleu).
Split horizontally : Sépare en 2 vues horizontales. |
Menu contextuel / View Actions / LDraw-Lines : Real Preview : Prévisualisation réelle. Show All : Montre tout. Show Lines [Type 2] : Montre les lignes de type 2. Hide All : Cache tout.
Use Always Black Lines : Utilise toujours des lignes noires. |
Menu contextuel / Render Mode : No Backface Culling : Pas de visualisation du sens des faces. Random Colours : Couleurs aléatoires. Green Frontfaces / Red Backfaces : Faces avant vertes / Faces arrières rouges. Red Backfaces : Faces arrières rouges. Real Backface Culling : Sens des faces réelles. BFC + TEXMAP / Materials (LDraw Standard) : Sens des faces + Texture / Matériaux (Standard LDraw).
Special Cond. Line Mode : Mode spécial lignes conditionnelles. |
Menu contextuel / Synchronise : Manipulator : Coché, synchronise le manipulateur en mode multi-vues. Viewport Translation : Coché, synchronise le déplacement de point de vue en mode multi-vues. Zoom : Coché, synchronise le zoom en mode multi-vues. |
Menu contextuel panneau projet : Open In 3D Editor : Ouvre le fichier dans la fenêtre de l'éditeur 3D. Open In Text Editor : Ouvre le fichier dans la fenêtre de l'éditeur texte. Close : Masque le fichier dans l'arborescence.
Rename / Move : Renomme / Déplace le fichier.
Copy To Unofficial Library : Copie dans la bibliothèque non officielle. |
Menus contextuels des boutons du panneau grille de positionnement (Snapping) : Default Values for "Coarse" : Mets les valeurs par défaut à la grille large. Default Values for "Medium" : Mets les valeurs par défaut à la grille moyenne. Default Values for "Fine" : Mets les valeurs par défaut à la grille fine. |
Menu contextuel : Hide : Cache la sélection dans l'éditeur 3D et l'estompe dans l'éditeur texte. Show : Réaffiche la sélection cachée. Show All : Réaffiche tout. Draw Selection : Affiche la sélection seule dans l'éditeur 3D. Draw Until Selection : Affiche du début du fichier jusqu'à la sélection dans l'éditeur 3D. Cut : Coupe la sélection. Copy : Copie la sélection. Paste : Colle la sélection copiée ou coupée. Delete : Supprime la sélection.
|
Menu contextuel panneau des problèmes : Quick Fix : Tente de corriger le problème sélectionné. Quick Fix Similar Problems : Tente de corriger les problèmes similaires. Inpect : Inspecte le problème sélectionné. Inpect Similar Problems : Inspecte les problèmes similaires.
Copy Problem Info : Copie les problèmes sélectionnés dans le presse-papier. |
Menu contextuel fenêtre texte de PrimGen2 : Cut : Coupe la sélection. Copy : Copie la sélection. Paste : Colle la sélection copiée ou coupée. Delete : Supprime la sélection.
|
Fichier : | Touches |
Sauve | Ctrl+S |
Edition : | Touches |
Annule la dernière action | Ctrl+Z |
Rétablit la dernière action annulée | Ctrl+Y |
Coupe | Ctrl+X |
Copie | Ctrl+C |
Colle | Ctrl+V |
Supprime | Suppr (Del) |
Annule code couleur saisi, annule ajout ... | Echap (Esc) |
Sélection : | Touches |
Sélectionne tout | Ctrl+A |
Sélectionne rien | Ctrl+Maj+A |
Sélectionne tout, même couleur | Alt+Ctrl+C |
Sélectionne connectés | Alt+C |
Sélectionne touchant | Alt+T |
Sélectionne touchant, même couleur | Alt+S |
Ajoute à la sélection l'entité cliquée | Ctrl+Clic souris |
Désélectionne la sélection du type actif | Alt+Clic souris |
Fusion/Coupe : | Touches |
Inversion de sommets | F |
Coupe | Alt+V |
Fusionne à la moyenne | Ctrl+W |
Fusionne au dernier sommet sélectionné | Ctrl+E |
Conversion/Création : | Touches |
Convertit les lignes conditionnelles en lignes ordinaires | Maj+L |
Convertit les lignes ordinaires en lignes conditionnelles | Maj+C |
Création de points à l'intersection de lignes et faces | Ctrl+Clic souris |
Ecran graphique : | Touches |
Réinitialise la vue | Ctrl+R |
Zoom + | + |
Zoom - | - |
Grille | Ctrl+G |
Règles | Ctrl+L |
Emule bouton souris gauche | K |
Emule bouton souris milieu | M |
Emule bouton souris droit | L |
Déplace vue | Alt+Flèches clavier |
Tourne la vue | Bouton central souris+Déplacement souris |
Tourne la vue autour de l'axe perpendiculaire à l'écran | Ctrl+Bouton central souris+Déplacement souris |
Tourne la vue autour de l'axe horizontal écran | Maj+Bouton central souris+Déplacement souris |
Tourne la vue autour de l'axe vertical écran | Alt+Bouton central souris+Déplacement souris |
Ferme la vue courante | Q |
Sens de vue : | Touches |
Vue de face | Ctrl+2 (pavé numérique) |
Vue arrière | Ctrl+8 (pavé numérique) |
Vue de gauche | Ctrl+4 (pavé numérique) |
Vue de droite | Ctrl+6 (pavé numérique) |
Vue de dessus | Ctrl+5 (pavé numérique) |
Vue de dessous | Ctrl+0 (pavé numérique) |
Vue 3D isométrique | Ctrl+3 (pavé numérique) |
Mode de rendu : | Touches |
Pas de visualisation du sens des faces | Alt+1 (pavé numérique) |
Couleurs aléatoires | Alt+2 (pavé numérique) |
Faces avant vertes / Faces arrières rouges | Alt+3 (pavé numérique) |
Faces arrières rouges | Alt+4 (pavé numérique) |
Sens des faces réelles | Alt+5 (pavé numérique) |
Sens des faces + Texture / Matériaux (Standard LDraw) | Alt+6 (pavé numérique) |
Mode spécial lignes conditionnelles | Alt+7 (pavé numérique) |
Affichage des quadilatères non plans | Alt+8 (pavé numérique) |
Filaire | Alt+9 (pavé numérique) |
Mode manipulation : | Touches |
Sélection | 1 |
Déplacement | 2 |
Rotation | 3 |
Echelle | 4 |
Combiné | C |
Adjacent | B |
Mode référentiel : | Touches |
Déplace le manipulateur au centre de la sélection | A |
Réinitialise l'échelle lors du déplacement d'un sous-fichier au manipulateur | Ctrl |
Réinitialise la position du manipulateur à l'origine et l'oriente au repère du monde | R |
Mode sélection entité : | Touches |
Point/Sommet | F2 |
Face | F3 |
Ligne | F4 |
Sous-fichier/primitive | F5 |
Mode déplacement manipulateur : | Touches |
Sélectionne l'axe X | F6 |
Sélectionne l'axe Y | F7 |
Sélectionne l'axe Z | F8 |
Sélectionne les axes X et Y | F9 |
Sélectionne les axes X et Z | F10 |
Sélectionne les axes Y et Z | F11 |
Sélectionne les axes X, Y et Z | F12 |
Annule la sélection des axes | ESC |
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 commentaire | 0 |
Ajoute point | 5 |
Ajoute ligne | 8 |
Ajoute triangle | 6 |
Ajoute quadrilatère | 7 |
Ajoute ligne conditionnelle | 9 |
Ajoute distance | D |
Ajoute angle | P |
Mode insertion : | Touches |
Ajoute fin de fichier/position curseur texte | I |
Sens des faces (BFC) : | Touches |
Inverse le sens des faces de la sélection | J |
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élection | Alt+F |
Sélectionne tout | Ctrl+A |
Décompose la sélection | Alt+I |
Arrondit la sélection | Alt+C |
Annule la dernière action | Ctrl+Z |
Rétablit la dernière action annulée | Ctrl+Y |
Sauve | Ctrl+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 haut | Alt+Flèche Haut |
Déplace la ligne du curseur ou la sélection vers le bas | Alt+Flèche Bas |
Depuis la version v0.8.3 il est possible de personnaliser les raccourcis clavier. Voir chapitre suivant.
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 :
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é :
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 de l'auteur du programme.
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. 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. 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. 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. 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. 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. 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. 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. 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. |
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.
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.
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 :
|
|
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 ) |
|
Déplacement :
1- Puis cliquer sur "Actions / Set X/Y/Z (for Selection)". |
|
Résultat :
1- Le point s'est déplacé dans le plan XZ (axes rouge et bleu) avec Y=4 (axe vert). |
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. 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.
|
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é !
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 :
|
|
|
Approches diverses :
|
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. |
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 :
|
|
Approche de Philippe Hurbain :
|
|
Approche de Willy Tschager :
|
|
Message de Magnus Forsberg :
|
|
Approche de N. W. Perry :
|
|
Réponse de Robert B :
|
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.
Voici une liste d'améliorations souhaitables ou à envisager qui amélioreraient les possibilités du programme et sa facilité d'utilisation.
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.