Nouveautés V5 (Beta du 30 Juillet 2024) Original
Diverses corrections de bogues de Congés provenant d'ACIS.
Mise à jour de la commande Transformer > Déplacer.
Ajout d'un bouton "Definir XYZ" à la sélection du point cible de la commande Déplacer, pour permettre de définir des valeurs de coordonnées individuelles.
Mise à jour de l'entrée xyz du sélecteur de points.
Autoriser x= , y= , ou z= pour définir des coordonnées individuelles.
Par exemple, en entrant z=4, la valeur z sera verrouillée à 4 et les valeurs x et y pourront être sélectionnées à l'aide de la souris.
Optimisation du tracé des petites courbes pour les vues agrandies.
Lorsqu'il y a plus de 10 000 courbes, déclencher un traitement spécial pour les courbes qui sont minuscules dans la vue zoomée.
Dessiner avec un imposteur de ligne.
Mise à jour de la détection de la forme circulaire des courbes pour améliorer la précision.
Mise à jour de la sortie PDF/AI/SVG
Activation des options de style de ligne pour la sortie PDF/AI/SVG de l'image filaire.
Mise à jour de l'importation DXF - couleurs des entités
Dans l'importation DXF, si toutes les entités d'un calque ont la même couleur d'entité, celle-ci est également utilisée pour la couleur du calque.
Permet d'importer des couleurs à partir de fichiers DXF générés par CorelDraw.
Demandé dans le forum par Stefano ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10114.569
Mise à jour de la commande Transformer > Déplacer.
Ajout d'un bouton "Definir XYZ" à la sélection du point cible de la commande Déplacer, pour permettre de définir des valeurs de coordonnées individuelles.
Mise à jour de l'entrée xyz du sélecteur de points.
Autoriser x= , y= , ou z= pour définir des coordonnées individuelles.
Par exemple, en entrant z=4, la valeur z sera verrouillée à 4 et les valeurs x et y pourront être sélectionnées à l'aide de la souris.
Optimisation du tracé des petites courbes pour les vues agrandies.
Lorsqu'il y a plus de 10 000 courbes, déclencher un traitement spécial pour les courbes qui sont minuscules dans la vue zoomée.
Dessiner avec un imposteur de ligne.
Mise à jour de la détection de la forme circulaire des courbes pour améliorer la précision.
Mise à jour de la sortie PDF/AI/SVG
Activation des options de style de ligne pour la sortie PDF/AI/SVG de l'image filaire.
Mise à jour de l'importation DXF - couleurs des entités
Dans l'importation DXF, si toutes les entités d'un calque ont la même couleur d'entité, celle-ci est également utilisée pour la couleur du calque.
Permet d'importer des couleurs à partir de fichiers DXF générés par CorelDraw.
Demandé dans le forum par Stefano ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10114.569
Mise à jour du congé de courbe
Correction du Congé d'une courbe afin qu'il soit possible pour un segment de courbe d'être complètement consommé dans un congé d'angle.
Corrige un bug signalé sur le forum par Andre ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11331.1
Ajout des boutons "Sélectionner les objets correspondants" et "Appliquer aux objets sélectionnés" pour les préréglages de propriétés dans la boîte de dialogue Options > Dimensions.
Demandé par Salvatore sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10114.603
Ajout de l'option "Montrer les zéros de début" pour le formatage des dimensions.
Demandé par Peer dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11268.1
Ajout d'options dans moi.ini pour sauvegarder/restaurer la position de la fenêtre.
[Fenêtre principale]
<...>
ReadPositionDataOnOpen=y
WritePositionDataOnClose=y
Si vous définissez WritePositionDataOnClose=n, les données de position stockées ne seront pas mises à jour à la fermeture du programme et si vous définissez ReadPositionDataOnOpen=n, le positionnement par défaut sera utilisé à l'ouverture de l'interface utilisateur au lieu d'être lu dans le fichier moi.ini.
Mise à jour de l'exportation SVG
Suppression de l'affichage des lignes visibles si la largeur des lignes visibles est inférieure à zéro.
Correction du Congé d'une courbe afin qu'il soit possible pour un segment de courbe d'être complètement consommé dans un congé d'angle.
Corrige un bug signalé sur le forum par Andre ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11331.1
Ajout des boutons "Sélectionner les objets correspondants" et "Appliquer aux objets sélectionnés" pour les préréglages de propriétés dans la boîte de dialogue Options > Dimensions.
Demandé par Salvatore sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10114.603
Ajout de l'option "Montrer les zéros de début" pour le formatage des dimensions.
Demandé par Peer dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11268.1
Ajout d'options dans moi.ini pour sauvegarder/restaurer la position de la fenêtre.
[Fenêtre principale]
<...>
ReadPositionDataOnOpen=y
WritePositionDataOnClose=y
Si vous définissez WritePositionDataOnClose=n, les données de position stockées ne seront pas mises à jour à la fermeture du programme et si vous définissez ReadPositionDataOnOpen=n, le positionnement par défaut sera utilisé à l'ouverture de l'interface utilisateur au lieu d'être lu dans le fichier moi.ini.
Mise à jour de l'exportation SVG
Suppression de l'affichage des lignes visibles si la largeur des lignes visibles est inférieure à zéro.
Mise à jour de la couleur de la ligne cachée de Make2D
Ajout d'un paramètre dans moi.ini pour la couleur par défaut utilisée pour le style "Ligne cachée" créé par Make2D.
[Make2D]
HiddenLineColor=255,255,255
Mise à jour du dialogue des propriétés de l'objet
Afficher le rapport des noms d'objets sélectionnés dans la boîte de dialogue des propriétés de l'objet lorsque le nom = "varies".
Correction d'un bug où un ctrl-clic sur une balise de style ne la désélectionnait pas.
Correction d'un bug d'accrochage d'objet lors de l'utilisation d'un rendu OpenGL et Direct3D9. La visibilité de certains points d'accrochage n'était pas correcte.
Correction d'un bug d'annulation où des copies supplémentaires d'objets pouvaient apparaître dans certaines situations d'annulation.
Correction d'un bug dans la gestion de la souris où le clic Alt (qui est supposé supprimer l'accrochage) générait incorrectement une ligne de construction.
Correction du plantage des unités de changement en présence d'une ligne de construction
Correction d'un crash signalé dans le forum par Brian ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11056.195
Ajout d'un paramètre dans moi.ini pour la couleur par défaut utilisée pour le style "Ligne cachée" créé par Make2D.
[Make2D]
HiddenLineColor=255,255,255
Mise à jour du dialogue des propriétés de l'objet
Afficher le rapport des noms d'objets sélectionnés dans la boîte de dialogue des propriétés de l'objet lorsque le nom = "varies".
Correction d'un bug où un ctrl-clic sur une balise de style ne la désélectionnait pas.
Correction d'un bug d'accrochage d'objet lors de l'utilisation d'un rendu OpenGL et Direct3D9. La visibilité de certains points d'accrochage n'était pas correcte.
Correction d'un bug d'annulation où des copies supplémentaires d'objets pouvaient apparaître dans certaines situations d'annulation.
Correction d'un bug dans la gestion de la souris où le clic Alt (qui est supposé supprimer l'accrochage) générait incorrectement une ligne de construction.
Correction du plantage des unités de changement en présence d'une ligne de construction
Correction d'un crash signalé dans le forum par Brian ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11056.195
Correction du crash de la courbe de reconstruction
Envoyé par e-mail par James
Correction du flux faisant un calcul supplémentaire sur .commit()
Ne pas appliquer les besoins de mise à jour finale pour le traitement des groupes si aucun groupe n'est impliqué.
Correction du calcul de la surface.
Correction d'un bug où les brèches ouvertes à plusieurs faces n'avaient pas de surface calculée, rapporté dans le forum par Brian.
Correction d'un bug sur la précision des cercles où les cercles dans certaines positions pouvaient perdre de la précision et ouvrir un écart d'environ 0,0001 degré entre les deux cercles.
un écart d'environ 0,0001 degré entre les points de départ et d'arrivée.
Correction d'un bogue signalé par e-mail par Axel.
Correction d'un bug dans l'affichage des groupes
Correction d'un bug où un groupe ayant une brèche et une courbe n'affichait pas la courbe comme une ligne cachée en pointillés, à moins qu'il n'y ait au moins une brèche dans le modèle ne faisant pas partie d'un groupe.
Corrige un bogue signalé dans le forum par Peer.
Correction d'un bogue dans le menu Taille d'édition avec un perçage de groupe dans la sélection.
Lorsqu'il y a une sélection par forage de groupe, le menu de taille d'édition modifiait tout le groupe parent au lieu de la sélection actuelle.
Correction d'un bogue signalé dans le forum par Larry Fahnoe ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11056.211
Correction d'un bogue de copier/coller avec les groupes, signalé dans le forum par Fubax ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11056.201
Envoyé par e-mail par James
Correction du flux faisant un calcul supplémentaire sur .commit()
Ne pas appliquer les besoins de mise à jour finale pour le traitement des groupes si aucun groupe n'est impliqué.
Correction du calcul de la surface.
Correction d'un bug où les brèches ouvertes à plusieurs faces n'avaient pas de surface calculée, rapporté dans le forum par Brian.
Correction d'un bug sur la précision des cercles où les cercles dans certaines positions pouvaient perdre de la précision et ouvrir un écart d'environ 0,0001 degré entre les deux cercles.
un écart d'environ 0,0001 degré entre les points de départ et d'arrivée.
Correction d'un bogue signalé par e-mail par Axel.
Correction d'un bug dans l'affichage des groupes
Correction d'un bug où un groupe ayant une brèche et une courbe n'affichait pas la courbe comme une ligne cachée en pointillés, à moins qu'il n'y ait au moins une brèche dans le modèle ne faisant pas partie d'un groupe.
Corrige un bogue signalé dans le forum par Peer.
Correction d'un bogue dans le menu Taille d'édition avec un perçage de groupe dans la sélection.
Lorsqu'il y a une sélection par forage de groupe, le menu de taille d'édition modifiait tout le groupe parent au lieu de la sélection actuelle.
Correction d'un bogue signalé dans le forum par Larry Fahnoe ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11056.211
Correction d'un bogue de copier/coller avec les groupes, signalé dans le forum par Fubax ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=11056.201
Mise à jour de RemoveDuplicates
Correction de RemoveDuplicates pour qu'il détecte les courbes fermées dupliquées qui ont des points de départ différents.
Corrige un bogue signalé par Marek par courrier électronique.
Mises à jour des scripts
Ajout de moi.geometryDatabase.loadStylesFromFile( filename ) ;
Mise à jour des scripts d'annotation
Ajout de quelques accès supplémentaires aux scripts sur les objets d'annotation :
annotation.getPoints2D() - renvoie les points de définition de l'annotation en coordonnées 2D dans le plan
annotation.numericValue() - renvoie la valeur de la distance de la dimension
annotation.evalText() - renvoie le texte d'affichage de la dimension
Mise à jour du script de la ligne de construction
Ajouter moi.geometryDatabase.setActiveConstructionLine( cline ) ;
Et ajout d'un argument facultatif de sélection de points à moi.drawingAids.constructionLineReposition() et moi.drawingAids.constructionLineReorient(),
afin qu'elles puissent être appelées sur une ligne de construction générée par programme.
Exemple : var cline = moi.geometry.geometry() et moi.drawingAids() :
var cline = moi.geometryDatabase.addConstructionLine( moi.vectorMath.createPoint(0,0,0), moi.vectorMath.createPoint(10,0,0), true /*est temporaire*/ ) ;
moi.geometryDatabase.setActiveConstructionLine( cline ) ;
var pp = moi.ui.createPointPicker() ;
moi.drawingAids.constructionLineReposition( pp ) ;
while (1)
{
if ( !pp.waitForEvent() )
break ;
if ( pp.event == 'finished' )
break ;
}
Mise à jour du script - curve.split()
Ajout de la fonction de script curve.split( params ). Elle divise une courbe selon les valeurs des paramètres donnés et renvoie une liste d'objets avec les morceaux.
- Michael
Correction de RemoveDuplicates pour qu'il détecte les courbes fermées dupliquées qui ont des points de départ différents.
Corrige un bogue signalé par Marek par courrier électronique.
Mises à jour des scripts
Ajout de moi.geometryDatabase.loadStylesFromFile( filename ) ;
Mise à jour des scripts d'annotation
Ajout de quelques accès supplémentaires aux scripts sur les objets d'annotation :
annotation.getPoints2D() - renvoie les points de définition de l'annotation en coordonnées 2D dans le plan
annotation.numericValue() - renvoie la valeur de la distance de la dimension
annotation.evalText() - renvoie le texte d'affichage de la dimension
Mise à jour du script de la ligne de construction
Ajouter moi.geometryDatabase.setActiveConstructionLine( cline ) ;
Et ajout d'un argument facultatif de sélection de points à moi.drawingAids.constructionLineReposition() et moi.drawingAids.constructionLineReorient(),
afin qu'elles puissent être appelées sur une ligne de construction générée par programme.
Exemple : var cline = moi.geometry.geometry() et moi.drawingAids() :
var cline = moi.geometryDatabase.addConstructionLine( moi.vectorMath.createPoint(0,0,0), moi.vectorMath.createPoint(10,0,0), true /*est temporaire*/ ) ;
moi.geometryDatabase.setActiveConstructionLine( cline ) ;
var pp = moi.ui.createPointPicker() ;
moi.drawingAids.constructionLineReposition( pp ) ;
while (1)
{
if ( !pp.waitForEvent() )
break ;
if ( pp.event == 'finished' )
break ;
}
Mise à jour du script - curve.split()
Ajout de la fonction de script curve.split( params ). Elle divise une courbe selon les valeurs des paramètres donnés et renvoie une liste d'objets avec les morceaux.
- Michael
Nouveautés V5 (Beta du 1er décembre 2023)
Bug d'affichage d'Objets dans le "fil de fer"
Nouveautés V5 (Beta du 30 Novembre 2023)
Crash Mac M1/M2 arm64 CPU résolu!
Nouveautés V5 (Beta du 13 Avril 2023) Original
Solid++L'intégration initiale du Kernel ACIS (noyau géométrique) dans MoI, va commencer par les Congés!
Les congés sont désormais calculés par ACIS. Il s'agit encore d'un travail en cours, mais de nombreux types de congés qui échouaient auparavant fonctionnent désormais. Vous pouvez revenir aux anciens congés Solid++ avec l'option "Bibliothèque" (Library) dans les options de la commande Congés. |
Nouvelle option de hachures lors de la génération d'un dessin 2D aux formats PDF, AI ou SVG :
Les vignettes sont désormais écrites dans les fichiers .3dm et les extensions shell pour Mac et Windows sont incluses dans MoI. Vous pouvez donc voir les vignettes lorsque vous parcourez les fichiers .3dm dans l'Explorateur de fichiers de Windows ou dans le Finder de macOS.
Vous pouvez désactiver la création d'images miniatures intégrées dans Options > Options 3DM > case à cocher "Écrire une image miniature de prévisualisation".
Il existe un paramètre dans moi.ini pour la taille des vignettes : [3DM] ThumbnailSize=256
Peut varier de 64 à 1024
Vous pouvez désactiver la création d'images miniatures intégrées dans Options > Options 3DM > case à cocher "Écrire une image miniature de prévisualisation".
Il existe un paramètre dans moi.ini pour la taille des vignettes : [3DM] ThumbnailSize=256
Peut varier de 64 à 1024
Les plateformes supportées sont un peu différentes maintenant en raison de l'intégration d'ACIS - sous Windows, Windows 7 SP1, 8.1, 10 et 11 64-bit sont supportés. Windows 7 sans SP1 et Windows 8.0 ne sont pas supportés. Sur Mac, les versions 10.14 et supérieures sont prises en charge.
Affectation dans le Navigateur de Scènes - désormais, lorsque vous cliquez sur un nom dans le Navigateur de Scènes, un menu s'affiche avec les options "Affecter la sélection ici" et "Renommer" :
Mise à jour de la sélection de groupe : Ctrl+Clic sur un objet non sélectionné à l'intérieur d'un groupe pour sélectionner directement cet objet au lieu des groupes intermédiair
L'inclusion d'un Groupe dans un autre fait "descendre" les éléments de ce ce dernier dans l'ordre alphabétique!
Diverses corrections de bogues mineurs, dont beaucoup pour les groupes.
L'inclusion d'un Groupe dans un autre fait "descendre" les éléments de ce ce dernier dans l'ordre alphabétique!
Diverses corrections de bogues mineurs, dont beaucoup pour les groupes.
Mise à jour de l'importation SubD - rotation Y-Up vers Z-Up. Par défaut, rotation de l'import FBX SubD du système de coordonnées FBX Y-up vers le système de coordonnées Z-up de MoI.
Peut être désactivé pour les importations OBJ et FBX avec un nouveau paramètre sous :
Options > Import/Export > Options d'importation SubD > cases à cocher "Rotate y-up to z-up OBJ" et "Rotate y-up to z-up OBJ".
Peut être désactivé pour les importations OBJ et FBX avec un nouveau paramètre sous :
Options > Import/Export > Options d'importation SubD > cases à cocher "Rotate y-up to z-up OBJ" et "Rotate y-up to z-up OBJ".
Mise à jour de la Trame sur Courbe avec l'option "aligner sur la surface"
Minimise la rotation appliquée pour s'aligner sur la normale de la surface.
Corrige un bogue signalé dans le forum par Barry ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10725.1
Minimise la rotation appliquée pour s'aligner sur la normale de la surface.
Corrige un bogue signalé dans le forum par Barry ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10725.1
Mise à jour de la liste déroulante de la projection de vue
Ajout d'une option "Active" en plus de 3D / Top / Front / Right lors du choix des vues de projection, qui utilisera le viewport actif.
Affecte les commandes Make2D, Silhouette et aussi l'exportation AI/PDF/SVG/DXF.
Ajout d'une option "Active" en plus de 3D / Top / Front / Right lors du choix des vues de projection, qui utilisera le viewport actif.
Affecte les commandes Make2D, Silhouette et aussi l'exportation AI/PDF/SVG/DXF.
Correction d'un bug local SVG
N'utilise pas de formatage de chaîne tenant compte des paramètres locaux pour les attributs SVG. Les séparateurs décimaux ne devraient pas être des virgules.
N'utilise pas de formatage de chaîne tenant compte des paramètres locaux pour les attributs SVG. Les séparateurs décimaux ne devraient pas être des virgules.
Mise à jour de l'installateur Windows
Ajout d'une case à cocher dans l'installateur pour "Créer des associations de fichiers", afin que la modification des associations de fichiers puisse être activée par l'utilisateur.
Ajout d'une case à cocher dans l'installateur pour "Créer des associations de fichiers", afin que la modification des associations de fichiers puisse être activée par l'utilisateur.
Mise à jour de la commande Rebuild
Ajout d'une option pour le mode Endpoints, soit Points : Interpoler ou Points : CVs pour créer une courbe interpolée ou une courbe de points de contrôle à partir des points d'extrémité de la polyligne. Demandé sur le forum par pafurijaz ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10953.9
Ajout d'une option pour le mode Endpoints, soit Points : Interpoler ou Points : CVs pour créer une courbe interpolée ou une courbe de points de contrôle à partir des points d'extrémité de la polyligne. Demandé sur le forum par pafurijaz ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10953.9
Mise à jour de la commande des paramètres
s'il y a un paramètre "repeat=true" alors cochez la case "repeat command".
s'il y a un paramètre "repeat=true" alors cochez la case "repeat command".
Ajout d'une option moi.ini pour contrôler la version du fichier SKP de SketchUp à écrire :
[SKP]
SUModelVersion=Current
La version peut être : SU3-SU8, SU2013-SU2016 et sur Mac jusqu'à SU2021.
[SKP]
SUModelVersion=Current
La version peut être : SU3-SU8, SU2013-SU2016 et sur Mac jusqu'à SU2021.
Scripting
Mise à jour de la gestion des groupes de moi.geometryDatabase.getObjects(). Retour des objets à l'intérieur des groupes avec moi.geometryDatabase.getObjects() pour une meilleure compatibilité avec les scripts existants. Il est possible de passer getObjects( false ) pour désactiver l'accès aux groupes.
Groupes transversaux - ajout des fonctions .getFirstNode() et .getNextNode( current_node ) sur les objets groupes. Cela permettra uniquement de parcourir les groupes et tous les objets qui sont l'enfant immédiat d'un groupe, mais pas d'aller à l'intérieur des groupes.
L'enfant immédiat d'un groupe, mais pas les sous-objets tels que les segments de courbe.
Mise en œuvre du texte utilisateur du document pour les scripts
Nouvelles valeurs de texte pour l'utilisateur du document afin que les scripts puissent ajouter des données qui sont sauvegardées et restaurées à partir de fichiers 3DM.
Nouvelles méthodes sous moi.geometryDatabase :
.setUserText( Key, Value ) ; - Définit la valeur du texte pour une clé donnée.
.getUserText( Key ) ; - Retourne la valeur du texte pour la clé donnée, ou undefined si elle n'est pas présente.
.removeUserText( Clé ) ; - Supprime la valeur du texte de l'utilisateur pour la clé donnée.
.getAllUserText() ; - Retourne la liste de tous les textes des utilisateurs, chaque objet ayant des propriétés .key et .value.
.clearAllUserText() ; - Efface tous les textes utilisateur du document.
Le texte utilisateur de l'objet est également disponible pour les scripts qui stockent des données sur un objet :
.setUserText( Key, Value ) ; - Définit la valeur du texte pour une clé donnée.
.getUserText( Key ) ; - Retourne la valeur du texte pour la clé donnée, ou undefined si elle n'est pas présente.
.removeUserText( Clé ) ; - Supprime la valeur du texte de l'utilisateur pour la clé donnée.
.getAllUserText() ; - Retourne la liste de tous les textes des utilisateurs, chaque objet ayant des propriétés .key et .value.
.clearAllUserText() ; - Efface le texte utilisateur de tous les objets.
Le texte de l'utilisateur du document peut également être visualisé et édité sous Fichier > Notes > bouton "Texte de l'utilisateur du document" et le texte de l'utilisateur de l'objet s'affichera dans la boîte de dialogue des propriétés de l'objet "Détails...".
Ajout de la propriété screenTol au sélecteur de flux de points afin de pouvoir modifier le comportement par rapport aux 5 pixels par défaut que la souris doit parcourir avant de générer un nouveau point pour la courbe d'esquisse.
On peut définir pointstreampicker.screenTol = 0.0 pour prendre tous les points sans tenir compte de la distance par rapport au point précédent, ou quelque chose comme pointstreampicker.screenTol = 30.0 ; pour que ce soit plus clairsemé.
Faire en sorte que MoiList et ObjectList implémentent les méthodes .push() et .pop() avec le même comportement qu'un tableau JavaScript.
Pour push(), les arguments sont ajoutés à la fin de la liste dans l'ordre dans lequel ils apparaissent. La nouvelle longueur de la liste est renvoyée comme résultat de l'appel. La fonction push() pour ObjectList peut prendre une autre ObjectList ou un tableau JavaScript et cherchera dans le contenu pour trouver des objets.
Pour pop(), le dernier élément de la liste est retiré de la liste et renvoyé. Si la liste est vide, la fonction retourne undefined.
Mise à jour de l'argument getter de la fonction de script. Le code qui recherche une liste d'objets transmise en tant qu'argument de fonction accepte désormais un objet unique et l'entoure automatiquement d'une liste d'objets temporaire, et accepte également un tableau JavaScript qu'il convertit en liste d'objets temporaire.
Mise à jour de la gestion des groupes de moi.geometryDatabase.getObjects(). Retour des objets à l'intérieur des groupes avec moi.geometryDatabase.getObjects() pour une meilleure compatibilité avec les scripts existants. Il est possible de passer getObjects( false ) pour désactiver l'accès aux groupes.
Groupes transversaux - ajout des fonctions .getFirstNode() et .getNextNode( current_node ) sur les objets groupes. Cela permettra uniquement de parcourir les groupes et tous les objets qui sont l'enfant immédiat d'un groupe, mais pas d'aller à l'intérieur des groupes.
L'enfant immédiat d'un groupe, mais pas les sous-objets tels que les segments de courbe.
Mise en œuvre du texte utilisateur du document pour les scripts
Nouvelles valeurs de texte pour l'utilisateur du document afin que les scripts puissent ajouter des données qui sont sauvegardées et restaurées à partir de fichiers 3DM.
Nouvelles méthodes sous moi.geometryDatabase :
.setUserText( Key, Value ) ; - Définit la valeur du texte pour une clé donnée.
.getUserText( Key ) ; - Retourne la valeur du texte pour la clé donnée, ou undefined si elle n'est pas présente.
.removeUserText( Clé ) ; - Supprime la valeur du texte de l'utilisateur pour la clé donnée.
.getAllUserText() ; - Retourne la liste de tous les textes des utilisateurs, chaque objet ayant des propriétés .key et .value.
.clearAllUserText() ; - Efface tous les textes utilisateur du document.
Le texte utilisateur de l'objet est également disponible pour les scripts qui stockent des données sur un objet :
.setUserText( Key, Value ) ; - Définit la valeur du texte pour une clé donnée.
.getUserText( Key ) ; - Retourne la valeur du texte pour la clé donnée, ou undefined si elle n'est pas présente.
.removeUserText( Clé ) ; - Supprime la valeur du texte de l'utilisateur pour la clé donnée.
.getAllUserText() ; - Retourne la liste de tous les textes des utilisateurs, chaque objet ayant des propriétés .key et .value.
.clearAllUserText() ; - Efface le texte utilisateur de tous les objets.
Le texte de l'utilisateur du document peut également être visualisé et édité sous Fichier > Notes > bouton "Texte de l'utilisateur du document" et le texte de l'utilisateur de l'objet s'affichera dans la boîte de dialogue des propriétés de l'objet "Détails...".
Ajout de la propriété screenTol au sélecteur de flux de points afin de pouvoir modifier le comportement par rapport aux 5 pixels par défaut que la souris doit parcourir avant de générer un nouveau point pour la courbe d'esquisse.
On peut définir pointstreampicker.screenTol = 0.0 pour prendre tous les points sans tenir compte de la distance par rapport au point précédent, ou quelque chose comme pointstreampicker.screenTol = 30.0 ; pour que ce soit plus clairsemé.
Faire en sorte que MoiList et ObjectList implémentent les méthodes .push() et .pop() avec le même comportement qu'un tableau JavaScript.
Pour push(), les arguments sont ajoutés à la fin de la liste dans l'ordre dans lequel ils apparaissent. La nouvelle longueur de la liste est renvoyée comme résultat de l'appel. La fonction push() pour ObjectList peut prendre une autre ObjectList ou un tableau JavaScript et cherchera dans le contenu pour trouver des objets.
Pour pop(), le dernier élément de la liste est retiré de la liste et renvoyé. Si la liste est vide, la fonction retourne undefined.
Mise à jour de l'argument getter de la fonction de script. Le code qui recherche une liste d'objets transmise en tant qu'argument de fonction accepte désormais un objet unique et l'entoure automatiquement d'une liste d'objets temporaire, et accepte également un tableau JavaScript qu'il convertit en liste d'objets temporaire.
Mise à jour du script des images d'arrière-plan
Ajout d'une fonction .getEmbeddedImage() sur les images d'arrière-plan qui renverra un objet image, de sorte que image.szve() puisse être appelée pour extraire une image d'arrière-plan incorporée dans un fichier séparé. Demandé par Brian sur le forum ici :
http://moi3d.com/forum/messages.php?webtag=MOI&msg=10813.4
Mise à jour des scripts de face
face.isCylinderSurface - true si la surface sous-jacente de cette face est un cylindre.
face.isConeSurface - true si la surface sous-jacente de cette face est un cône.
face.isSphereSurface - true si la surface sous-jacente de cette face est une sphère.
face.analyticFrame - cadre de coordonnées pour une surface de cylindre, de cône ou de sphère.
face.analyticRadius - Rayon de la surface d'un cylindre, d'un cône ou d'une sphère.
face.analyticHeight - hauteur d'une surface cylindrique ou conique.
Mise à jour du script cplane
Mise à jour de moi.view.setCPlaneInteractive() - renvoie false en cas d'annulation et prend un paramètre booléen optionnel pour permettre l'annulation imbriquée.
Ajout de moi.command.isCanceled pour permettre à un script de déterminer si la commande en cours a été annulée.
Ajouter moi.command.pendingCommandName
Effacer la case à cocher de répétition de la commande si une boîte de dialogue modale a été affichée.
Mise à jour des scripts de moi.ini
Ajout de moi.settings.writeIniFile() qui va vider le contenu en mémoire de moi.ini sur le disque.
Ajout de moi.settings.getIniValue( 'Nom de la section', 'Nom de la clé') qui renverra une valeur ini au script appelant ou retournera undefined si elle n'est pas présente.
Ajout d'une fonction .getEmbeddedImage() sur les images d'arrière-plan qui renverra un objet image, de sorte que image.szve() puisse être appelée pour extraire une image d'arrière-plan incorporée dans un fichier séparé. Demandé par Brian sur le forum ici :
http://moi3d.com/forum/messages.php?webtag=MOI&msg=10813.4
Mise à jour des scripts de face
face.isCylinderSurface - true si la surface sous-jacente de cette face est un cylindre.
face.isConeSurface - true si la surface sous-jacente de cette face est un cône.
face.isSphereSurface - true si la surface sous-jacente de cette face est une sphère.
face.analyticFrame - cadre de coordonnées pour une surface de cylindre, de cône ou de sphère.
face.analyticRadius - Rayon de la surface d'un cylindre, d'un cône ou d'une sphère.
face.analyticHeight - hauteur d'une surface cylindrique ou conique.
Mise à jour du script cplane
Mise à jour de moi.view.setCPlaneInteractive() - renvoie false en cas d'annulation et prend un paramètre booléen optionnel pour permettre l'annulation imbriquée.
Ajout de moi.command.isCanceled pour permettre à un script de déterminer si la commande en cours a été annulée.
Ajouter moi.command.pendingCommandName
Effacer la case à cocher de répétition de la commande si une boîte de dialogue modale a été affichée.
Mise à jour des scripts de moi.ini
Ajout de moi.settings.writeIniFile() qui va vider le contenu en mémoire de moi.ini sur le disque.
Ajout de moi.settings.getIniValue( 'Nom de la section', 'Nom de la clé') qui renverra une valeur ini au script appelant ou retournera undefined si elle n'est pas présente.
Faire en sorte que tous les objets Moi JS implémentent une fonction .toString() qui renverra le nom de la classe individuelle au lieu du même nom générique "MoiObj".
Par exemple, en faisant cela sur une liste d'objets :
var objlist = moi.geometryDatabase.createObjectList() ;
var name = objlist.toString() ;
donnera maintenant [object ObjectList], au lieu de [object MoiObj].
Les objets de script MoI peuvent également énumérer les propriétés des objets en utilisant la syntaxe for ... in, comme dans l'exemple suivant :
for ( propname in obj )
var val = obj[ propname ] ;
Mise à jour du script Pointpicker
Ajout de pointpicker.screenpt - renvoie les coordonnées 2d de la souris
Ajouter pointpicker.hitTestSnapPoints( Points ) - prend un tableau d'objets points xyz, renvoie l'index de celui qui est le plus proche de la souris et dans le rayon d'accrochage de l'objet ou -1 si aucun n'a été trouvé.
Fonction d'aide pour l'implémentation d'une fonction d'accrochage personnalisée telle que décrite ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10917.2
Ajouté moi.filesystem.getDirName() - sélecteur de répertoire
var dir = moi.filesystem.getDirName( 'Dialog caption', 'c:\Ninitpath' ) ;
renvoie une chaîne vide '' en cas d'annulation.
Ajout de object.setEditPointSelected( index, value ) ; sur les objets comme moyen de définir l'état de sélection d'un point d'édition.
Mise à jour de la position et de la taille de la fenêtre de script.
Si un script appelle window.move(x,y) ou window.resize(w,h) avant que la fenêtre n'ait été chargée, enregistrez la position ou la taille donnée et appliquez-les lorsque le chargement de la fenêtre est terminé.
les appliquer lorsque le chargement de la fenêtre est terminé.
Par exemple, en faisant cela sur une liste d'objets :
var objlist = moi.geometryDatabase.createObjectList() ;
var name = objlist.toString() ;
donnera maintenant [object ObjectList], au lieu de [object MoiObj].
Les objets de script MoI peuvent également énumérer les propriétés des objets en utilisant la syntaxe for ... in, comme dans l'exemple suivant :
for ( propname in obj )
var val = obj[ propname ] ;
Mise à jour du script Pointpicker
Ajout de pointpicker.screenpt - renvoie les coordonnées 2d de la souris
Ajouter pointpicker.hitTestSnapPoints( Points ) - prend un tableau d'objets points xyz, renvoie l'index de celui qui est le plus proche de la souris et dans le rayon d'accrochage de l'objet ou -1 si aucun n'a été trouvé.
Fonction d'aide pour l'implémentation d'une fonction d'accrochage personnalisée telle que décrite ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10917.2
Ajouté moi.filesystem.getDirName() - sélecteur de répertoire
var dir = moi.filesystem.getDirName( 'Dialog caption', 'c:\Ninitpath' ) ;
renvoie une chaîne vide '' en cas d'annulation.
Ajout de object.setEditPointSelected( index, value ) ; sur les objets comme moyen de définir l'état de sélection d'un point d'édition.
Mise à jour de la position et de la taille de la fenêtre de script.
Si un script appelle window.move(x,y) ou window.resize(w,h) avant que la fenêtre n'ait été chargée, enregistrez la position ou la taille donnée et appliquez-les lorsque le chargement de la fenêtre est terminé.
les appliquer lorsque le chargement de la fenêtre est terminé.
Mise à jour des scripts - annulation de la sélection
Ajout de moi.geometryDatabase.saveSelectionUndo() et moi.geometryDatabase.setSelectionUndoRevision()
pour que les scripts puissent avoir une annulation de sélection pour les changements de sélection/caché/verrouillé comme décrit sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10939.10
Mise à jour des scripts, des points d'annotation et des lignes de construction.
Ajout d'une méthode pour créer une ligne de construction à partir d'un script :
moi.geometryDatabase.addConstructionLine( start, end, isTemporary ) ;
Ajout de annotation.getPoints() qui renvoie une liste des points de définition de l'annotation.
Mise à jour du sélecteur de points
Ajouter de nouvelles propriétés pour contrôler le sélecteur de points :
pointpicker.dontMakeConstructionLines = true ;
pointpicker.finishOnMouseMove = true ;
Ajouter les propriétés pointpicker.disableGridSnap et pointstreampicker.disableGridSnap.
Ajout de moi.geometryDatabase.saveSelectionUndo() et moi.geometryDatabase.setSelectionUndoRevision()
pour que les scripts puissent avoir une annulation de sélection pour les changements de sélection/caché/verrouillé comme décrit sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10939.10
Mise à jour des scripts, des points d'annotation et des lignes de construction.
Ajout d'une méthode pour créer une ligne de construction à partir d'un script :
moi.geometryDatabase.addConstructionLine( start, end, isTemporary ) ;
Ajout de annotation.getPoints() qui renvoie une liste des points de définition de l'annotation.
Mise à jour du sélecteur de points
Ajouter de nouvelles propriétés pour contrôler le sélecteur de points :
pointpicker.dontMakeConstructionLines = true ;
pointpicker.finishOnMouseMove = true ;
Ajouter les propriétés pointpicker.disableGridSnap et pointstreampicker.disableGridSnap.
Nouveautés V5 (Beta du 22 Mai 2022) Original
Dans Moi et son système de groupes les enfants sont les groupes ou les objets du 1er niveau à l'intérieur du groupe et non à l'extérieur!!!
Ici dans le 2 ème groupe général c'est bien 7 enfants et non 13 comme l'intuition pourrait le laisser penser!
Ici dans le 2 ème groupe général c'est bien 7 enfants et non 13 comme l'intuition pourrait le laisser penser!
Cette version est principalement constituée de corrections de bugs pour divers aspects des groupes.
Mise à jour de la sélection du groupe cliqué. Si la touche Ctrl est maintenue enfoncée, la sélection du groupe cliqué est désélectionnée au lieu d'être perçée.
Mise à jour du dégroupement - Correction d'un bogue où le dégroupement n'allait pas jusqu'à une étape lorsque le groupe de niveau supérieur était sélectionné.
Mise à jour de la copie du groupe dans le presse-papiers - Correction de la copie dans le presse-papiers lorsque le sous-objet du groupe est sélectionné.
Mise à jour de la sélection de fenêtre de groupe. Ctrl+sélection de fenêtre ne désélectionnait pas le groupe complet lorsqu'il n'y avait pas de perçage, mais seulement les sous-objets. Corrigé de manière à ce que Ctrl+sélection de fenêtre cible le groupe entier s'il n'y a pas de sélection de perçage. S'il y a un perçage dans la sélection, les nœuds de feuille seront toujours ciblés à la place.
Ajout d'une étiquette de groupe dans l'indicateur de type d'objet du panneau des propriétés.
Mise à jour des groupes du navigateur de scènes - Si un objet se trouve à l'intérieur d'un groupe sélectionné, il est considéré comme sélectionné pour l'affichage du point de sélection dans les sections Types et Styles.
Mise à jour de la boîte de dialogue des propriétés détaillées des objets pour les groupes - signale le nombre d'enfants du groupe.
Correction d'un bug avec les groupes dans la boîte de dialogue des propriétés détaillées de l'objet qui affiche le style des objets du groupe au lieu des enfants du groupe et qui ne liste pas les styles lorsqu'il y a plusieurs styles dans le groupe.
Mise à jour du traitement des groupes de la commande Project
Mise à jour de la sélection de "Tous" pour les groupes
Mise à jour de moi.geometrydatabase.selectLoop() pour travailler avec les groupes
Mise à jour de la sélection inversée pour les groupes
Correction d'un bug avec les groupes dont les points d'édition sont activés. Lorsque le groupe était sélectionné, le déplacement sur le point d'édition ne fonctionnait pas, le groupe entier était déplacé à la place.
Mise à jour de la commande Separate, groupes. Les objets séparés sont séparés des groupes.
Correction d'un bug où le déplacement d'un point sur une courbe séparait l'objet modifié des groupes.
Correction du problème de gestion des groupes pour la commande Enrobage (Flow).
Correction d'un problème de groupe avec ArrayCurve - les groupes semblaient perdre la sélection lorsqu'ils entraient dans l'étape de sélection du chemin dans ArrayCurve.
Mise à jour des styles du navigateur de scène pour les groupes. Modification des styles pour ne pas accumuler le statut des objets de groupe parent, seulement le contenu du groupe.
Mise à jour du panneau de propriétés pour les groupes. Correction de l'assignation du style des groupes par le menu de style du panneau de propriétés qui ne réglait que le style de l'objet parent du groupe et pas celui des objets enfants.
Mise à jour des dimensions radiales. Lorsque la taille de la croix est définie sur 0 pour désactiver les lignes transversales du point central, le point central du rayon n'est pas inclus dans la sélection de la fenêtre et le cadrage de la boîte englobante. Corrige un bogue signalé sur le forum par Martin ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10652.86
Mise à jour du style d'affectation du navigateur de scène - ne modifie pas l'état des objets cachés ou verrouillés pour correspondre aux états des objets existants lorsque tous les objets actuellement affectés sont cachés ou verrouillés. Peut être réactivé dans moi.ini en définissant [Scene Browser] AssignStyleAssumeTargetState=y .
Mise à jour du déplacement des objets - Correction d'un bug de régression : ctrl+drag ne fonctionne pas pour déplacer des copies de sous-objets de bord ou de face.
Ajout du raccourci clavier Ctrl+tab. Met toujours le focus sur l'entrée XYZ, ne va pas sur les champs de saisie dans la zone de l'interface de commande.
Correction de la régression du chanfrein - Correction de la régression du chanfrein introduite dans la v4 lorsque les surfaces de chanfrein sont des objets de plan analytique. Correction d'un bug dans l'intersection plan analytique/plan qui provoquait l'échec du chanfreinage lorsque 2 plans de chanfreinage se croisaient.
Mise à jour de l'exportation DXF. Ne pas modifier les valeurs de manipulation des entrées DimStyle déjà présentes dans le fichier modèle. Correction d'une erreur générée par AutoCAD lors de la tentative de copie d'objets dans le presse-papiers après l'ouverture d'un fichier DXF depuis MoI. Corrige un bogue signalé par Tim sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10683.1
Mise à jour de l'affichage de la grille - étiquettes d'axe. Prise en charge des étiquettes d'axe personnalisées pour les couleurs des axes de la grille. Corrige un bug signalé dans le forum par Dinos ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10652.61
Mise à jour de l'installateur Windows. Ajout d'une association de fichiers pour le format SVG et définition des informations d'association de fichiers à supprimer du registre lors de la désinstallation.
Thèmes - Ajout du thème Terminal Green.
Mise à jour du rechargement de l'interface utilisateur du thème. Correction d'un bogue lors de la modification de la luminosité de la fenêtre du thème avec le script de démarrage MiniSidePane.js. Corrige un bogue signalé par e-mail par James Elliott.
Correction du bug du thème de texte unicode. Après le traitement des définitions de thème, préfixez les données chargées .htm avec une marque d'ordre d'octet UTF8 afin que l'analyseur html les traite comme du contenu UTF8. Correction d'un bogue avec les plugins traduits signalé par e-mail par Pilou.
Mise à jour de l'importation 3DM depuis SpaceClaim. Si un fichier 3DM provient de SpaceClaim, recherchez toutes les faces qui ont de très grandes surfaces sous-jacentes et réduisez-les. Corrige un problème d'importation 3DM rapporté par Tolya Vozya sur le forum à :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10664.1
Résolution du problème d'affichage avec les fonctions de Subdivison de Max Smirnov!
Mise à jour de la sélection du groupe cliqué. Si la touche Ctrl est maintenue enfoncée, la sélection du groupe cliqué est désélectionnée au lieu d'être perçée.
Mise à jour du dégroupement - Correction d'un bogue où le dégroupement n'allait pas jusqu'à une étape lorsque le groupe de niveau supérieur était sélectionné.
Mise à jour de la copie du groupe dans le presse-papiers - Correction de la copie dans le presse-papiers lorsque le sous-objet du groupe est sélectionné.
Mise à jour de la sélection de fenêtre de groupe. Ctrl+sélection de fenêtre ne désélectionnait pas le groupe complet lorsqu'il n'y avait pas de perçage, mais seulement les sous-objets. Corrigé de manière à ce que Ctrl+sélection de fenêtre cible le groupe entier s'il n'y a pas de sélection de perçage. S'il y a un perçage dans la sélection, les nœuds de feuille seront toujours ciblés à la place.
Ajout d'une étiquette de groupe dans l'indicateur de type d'objet du panneau des propriétés.
Mise à jour des groupes du navigateur de scènes - Si un objet se trouve à l'intérieur d'un groupe sélectionné, il est considéré comme sélectionné pour l'affichage du point de sélection dans les sections Types et Styles.
Mise à jour de la boîte de dialogue des propriétés détaillées des objets pour les groupes - signale le nombre d'enfants du groupe.
Correction d'un bug avec les groupes dans la boîte de dialogue des propriétés détaillées de l'objet qui affiche le style des objets du groupe au lieu des enfants du groupe et qui ne liste pas les styles lorsqu'il y a plusieurs styles dans le groupe.
Mise à jour du traitement des groupes de la commande Project
Mise à jour de la sélection de "Tous" pour les groupes
Mise à jour de moi.geometrydatabase.selectLoop() pour travailler avec les groupes
Mise à jour de la sélection inversée pour les groupes
Correction d'un bug avec les groupes dont les points d'édition sont activés. Lorsque le groupe était sélectionné, le déplacement sur le point d'édition ne fonctionnait pas, le groupe entier était déplacé à la place.
Mise à jour de la commande Separate, groupes. Les objets séparés sont séparés des groupes.
Correction d'un bug où le déplacement d'un point sur une courbe séparait l'objet modifié des groupes.
Correction du problème de gestion des groupes pour la commande Enrobage (Flow).
Correction d'un problème de groupe avec ArrayCurve - les groupes semblaient perdre la sélection lorsqu'ils entraient dans l'étape de sélection du chemin dans ArrayCurve.
Mise à jour des styles du navigateur de scène pour les groupes. Modification des styles pour ne pas accumuler le statut des objets de groupe parent, seulement le contenu du groupe.
Mise à jour du panneau de propriétés pour les groupes. Correction de l'assignation du style des groupes par le menu de style du panneau de propriétés qui ne réglait que le style de l'objet parent du groupe et pas celui des objets enfants.
Mise à jour des dimensions radiales. Lorsque la taille de la croix est définie sur 0 pour désactiver les lignes transversales du point central, le point central du rayon n'est pas inclus dans la sélection de la fenêtre et le cadrage de la boîte englobante. Corrige un bogue signalé sur le forum par Martin ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10652.86
Mise à jour du style d'affectation du navigateur de scène - ne modifie pas l'état des objets cachés ou verrouillés pour correspondre aux états des objets existants lorsque tous les objets actuellement affectés sont cachés ou verrouillés. Peut être réactivé dans moi.ini en définissant [Scene Browser] AssignStyleAssumeTargetState=y .
Mise à jour du déplacement des objets - Correction d'un bug de régression : ctrl+drag ne fonctionne pas pour déplacer des copies de sous-objets de bord ou de face.
Ajout du raccourci clavier Ctrl+tab. Met toujours le focus sur l'entrée XYZ, ne va pas sur les champs de saisie dans la zone de l'interface de commande.
Correction de la régression du chanfrein - Correction de la régression du chanfrein introduite dans la v4 lorsque les surfaces de chanfrein sont des objets de plan analytique. Correction d'un bug dans l'intersection plan analytique/plan qui provoquait l'échec du chanfreinage lorsque 2 plans de chanfreinage se croisaient.
Mise à jour de l'exportation DXF. Ne pas modifier les valeurs de manipulation des entrées DimStyle déjà présentes dans le fichier modèle. Correction d'une erreur générée par AutoCAD lors de la tentative de copie d'objets dans le presse-papiers après l'ouverture d'un fichier DXF depuis MoI. Corrige un bogue signalé par Tim sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10683.1
Mise à jour de l'affichage de la grille - étiquettes d'axe. Prise en charge des étiquettes d'axe personnalisées pour les couleurs des axes de la grille. Corrige un bug signalé dans le forum par Dinos ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10652.61
Mise à jour de l'installateur Windows. Ajout d'une association de fichiers pour le format SVG et définition des informations d'association de fichiers à supprimer du registre lors de la désinstallation.
Thèmes - Ajout du thème Terminal Green.
Mise à jour du rechargement de l'interface utilisateur du thème. Correction d'un bogue lors de la modification de la luminosité de la fenêtre du thème avec le script de démarrage MiniSidePane.js. Corrige un bogue signalé par e-mail par James Elliott.
Correction du bug du thème de texte unicode. Après le traitement des définitions de thème, préfixez les données chargées .htm avec une marque d'ordre d'octet UTF8 afin que l'analyseur html les traite comme du contenu UTF8. Correction d'un bogue avec les plugins traduits signalé par e-mail par Pilou.
Mise à jour de l'importation 3DM depuis SpaceClaim. Si un fichier 3DM provient de SpaceClaim, recherchez toutes les faces qui ont de très grandes surfaces sous-jacentes et réduisez-les. Corrige un problème d'importation 3DM rapporté par Tolya Vozya sur le forum à :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10664.1
Résolution du problème d'affichage avec les fonctions de Subdivison de Max Smirnov!
Nouveauté V5 (Beta du 10 Avril 2022) Original
Nouveautés :
Thème d'interface utilisateur sombre et éditeur de thème disponibles sous Options > Général > "Thème d'interface utilisateur".
Groupes - créez un groupe en utilisant le menu de la section "Objets" du navigateur de scènes.
La section Types du navigateur de scènes comporte des sous-types supplémentaires, comme "Types > Courbes > Cercles", qui peut être utilisé pour cibler uniquement les courbes qui sont des cercles.
Les sous-types incluent :
Courbes > Ouvertes, fermées, planes, lignes, polylignes, cercles, arcs, ellipses, arcs elliptiques...
Surfaces > Planaires
Arêtes > Jointifs, Non Jointifs
Propriétés > Sélectionné, Non sélectionné, Verrouillé, Déverrouillé, Visible, Nouveaux objets.
Prise en charge de l'importation/exportation au format SVG.
La conversion SubD prend désormais en charge le format FBX.
La version Mac est maintenant un binaire universel qui contient du code pour les architectures CPU Intel et M1.
Ajout d'un bouton Fichier > Notes pour définir les notes de texte enregistrées dans un fichier .3dm.
Navigateur de scènes - cliquez sur le libellé d'un élément dans la section Objets du navigateur de scènes pour attribuer la sélection actuelle à un nom ou à un groupe.
Performances du moteur d'affichage du texte d'annotation : plusieurs appels de mise en page de texte Qt sont reportés au moment de la mise en page plutôt qu'au moment du rendu. Amélioration majeure de la performance de rendu pour le texte. De plus, si le texte de la taille d'une unité de modèle est petit à l'écran, il est rendu sous la forme d'un quadruple texturé au lieu d'utiliser la géométrie du texte.
Navigateur de scènes - Ajout d'une entrée "Sans nom" sous Objets pour permettre le ciblage de tous les objets sans nom.
Mise à jour de l'exportation STEP - division des surfaces fermées La valeur par défaut est activée, elle peut être définie dans moi.ini sous :
[STEP]
ExportSplitClosedSurfaces=n
Mise à jour des contrôles d'onglet - Ajout d'un point à l'onglet actif.
Nouvelles plateformes de rendu - prise en charge de Direct3D9 sur Windows et Metal sur Mac. Peut être défini dans moi.ini sous [View] GraphicsAPI=Direct3D9 ou GraphicsAPI=Metal . Si vous avez des problèmes avec un pilote vidéo particulier, vous pouvez essayer d'utiliser une de ces alternatives.
Ajout de la commande expérimentale ViewProject qui transforme les objets par une projection en perspective.
Support du copier/coller dans le presse-papiers du format SVG. Pour copier dans le presse-papiers en utilisant le format SVG, configurez une touche de raccourci avec ceci :
script : moi.geometryDatabase.copyToClipboardSVG() ;
Mise à jour du moteur de rendu par défaut sur Wine - Par défaut Direct3D11 sur Wine au lieu d'OpenGL. Wine semble compenser les divers bogues des pilotes dans sa couche Direct3D.
Mise à jour de rendu du texte sous Wine. Wine semble avoir un bug dans ID3D11DeviceContext::UpdateSubresource quand il est appliqué à une texture de luminance 8-bit. Lors de l'exécution sous Wine, utilisez un format de texture 32 bits pour la texture du texte afin d'éviter ce problème.
Correction d'un bogue dans la version Mac où un double clic droit pouvait rester bloqué dans une boucle si une boîte de dialogue de fichier était affichée après le double clic droit.
Corrige un bogue dans Extrude lors de l'extrusion d'une courbe avec un grand nombre de segments et avec des valeurs de poids particulières. Correction d'un bogue signalé par Scott Carson dans un e-mail.
Correction d'un bogue booléen où les arêtes qui se touchaient à la singularité étaient incorrectement fusionnées dans l'union booléenne. Corrige un bogue signalé par e-mail par Christopher Schardt.
Correction d'un problème booléen avec les booléens multi-objets où les paramètres de tolérance étaient traités légèrement différemment lorsque de nombreux objets étaient booléens. Cela pouvait parfois donner des résultats différents lors du booléen de plusieurs objets à la fois au lieu de seulement 2 à la fois. Correction d'un bogue d'union booléenne signalé par e-mail par Christopher Schardt.
Mise à jour de la gestion du trackpad/Magic Mouse sur Mac. J'ai renoncé à essayer de déterminer automatiquement si un message de défilement provient de la souris magique ou du trackpad ; il ne semble pas possible de le faire de manière fiable. Pour que le défilement de la souris magique se comporte de la même manière que celui du trackpad, l'option moi.ini permettant de faire défiler le trackpad comme une souris à molette ([MultiTouch] UseTrackpadScrollAsMouseWheel=y) peut être utilisée pour obtenir l'ancien comportement de la souris magique.
De même, si vous maintenez la touche Alt enfoncée tout en faisant défiler le trackpad, vous obtiendrez un zoom à la molette.
Il existe également un nouveau paramètre pour inverser le défilement/le panoramique : [MultiTouch] ReverseTrackpadScroll=y
Mise à jour du mode du maintien de la hauteur des 2 rails du Tubage. Si les 2 rails commencent ou se terminent par un point, ne désactivez pas le mode "Maintien de la hauteur" pour l'ensemble du Tubage, mais gérez la mise à l'échelle vers un point après le premier ou le dernier profilé.
Thème d'interface utilisateur sombre et éditeur de thème disponibles sous Options > Général > "Thème d'interface utilisateur".
Groupes - créez un groupe en utilisant le menu de la section "Objets" du navigateur de scènes.
La section Types du navigateur de scènes comporte des sous-types supplémentaires, comme "Types > Courbes > Cercles", qui peut être utilisé pour cibler uniquement les courbes qui sont des cercles.
Les sous-types incluent :
Courbes > Ouvertes, fermées, planes, lignes, polylignes, cercles, arcs, ellipses, arcs elliptiques...
Surfaces > Planaires
Arêtes > Jointifs, Non Jointifs
Propriétés > Sélectionné, Non sélectionné, Verrouillé, Déverrouillé, Visible, Nouveaux objets.
Prise en charge de l'importation/exportation au format SVG.
La conversion SubD prend désormais en charge le format FBX.
La version Mac est maintenant un binaire universel qui contient du code pour les architectures CPU Intel et M1.
Ajout d'un bouton Fichier > Notes pour définir les notes de texte enregistrées dans un fichier .3dm.
Navigateur de scènes - cliquez sur le libellé d'un élément dans la section Objets du navigateur de scènes pour attribuer la sélection actuelle à un nom ou à un groupe.
Performances du moteur d'affichage du texte d'annotation : plusieurs appels de mise en page de texte Qt sont reportés au moment de la mise en page plutôt qu'au moment du rendu. Amélioration majeure de la performance de rendu pour le texte. De plus, si le texte de la taille d'une unité de modèle est petit à l'écran, il est rendu sous la forme d'un quadruple texturé au lieu d'utiliser la géométrie du texte.
Navigateur de scènes - Ajout d'une entrée "Sans nom" sous Objets pour permettre le ciblage de tous les objets sans nom.
Mise à jour de l'exportation STEP - division des surfaces fermées La valeur par défaut est activée, elle peut être définie dans moi.ini sous :
[STEP]
ExportSplitClosedSurfaces=n
Mise à jour des contrôles d'onglet - Ajout d'un point à l'onglet actif.
Nouvelles plateformes de rendu - prise en charge de Direct3D9 sur Windows et Metal sur Mac. Peut être défini dans moi.ini sous [View] GraphicsAPI=Direct3D9 ou GraphicsAPI=Metal . Si vous avez des problèmes avec un pilote vidéo particulier, vous pouvez essayer d'utiliser une de ces alternatives.
Ajout de la commande expérimentale ViewProject qui transforme les objets par une projection en perspective.
Support du copier/coller dans le presse-papiers du format SVG. Pour copier dans le presse-papiers en utilisant le format SVG, configurez une touche de raccourci avec ceci :
script : moi.geometryDatabase.copyToClipboardSVG() ;
Mise à jour du moteur de rendu par défaut sur Wine - Par défaut Direct3D11 sur Wine au lieu d'OpenGL. Wine semble compenser les divers bogues des pilotes dans sa couche Direct3D.
Mise à jour de rendu du texte sous Wine. Wine semble avoir un bug dans ID3D11DeviceContext::UpdateSubresource quand il est appliqué à une texture de luminance 8-bit. Lors de l'exécution sous Wine, utilisez un format de texture 32 bits pour la texture du texte afin d'éviter ce problème.
Correction d'un bogue dans la version Mac où un double clic droit pouvait rester bloqué dans une boucle si une boîte de dialogue de fichier était affichée après le double clic droit.
Corrige un bogue dans Extrude lors de l'extrusion d'une courbe avec un grand nombre de segments et avec des valeurs de poids particulières. Correction d'un bogue signalé par Scott Carson dans un e-mail.
Correction d'un bogue booléen où les arêtes qui se touchaient à la singularité étaient incorrectement fusionnées dans l'union booléenne. Corrige un bogue signalé par e-mail par Christopher Schardt.
Correction d'un problème booléen avec les booléens multi-objets où les paramètres de tolérance étaient traités légèrement différemment lorsque de nombreux objets étaient booléens. Cela pouvait parfois donner des résultats différents lors du booléen de plusieurs objets à la fois au lieu de seulement 2 à la fois. Correction d'un bogue d'union booléenne signalé par e-mail par Christopher Schardt.
Mise à jour de la gestion du trackpad/Magic Mouse sur Mac. J'ai renoncé à essayer de déterminer automatiquement si un message de défilement provient de la souris magique ou du trackpad ; il ne semble pas possible de le faire de manière fiable. Pour que le défilement de la souris magique se comporte de la même manière que celui du trackpad, l'option moi.ini permettant de faire défiler le trackpad comme une souris à molette ([MultiTouch] UseTrackpadScrollAsMouseWheel=y) peut être utilisée pour obtenir l'ancien comportement de la souris magique.
De même, si vous maintenez la touche Alt enfoncée tout en faisant défiler le trackpad, vous obtiendrez un zoom à la molette.
Il existe également un nouveau paramètre pour inverser le défilement/le panoramique : [MultiTouch] ReverseTrackpadScroll=y
Mise à jour du mode du maintien de la hauteur des 2 rails du Tubage. Si les 2 rails commencent ou se terminent par un point, ne désactivez pas le mode "Maintien de la hauteur" pour l'ensemble du Tubage, mais gérez la mise à l'échelle vers un point après le premier ou le dernier profilé.
Mise à jour des images d'arrière-plan - Ajout d'une option dans moi.ini pour que l'intégration des images d'arrière-plan soit activée par défaut.
[Voir]
BackgroundImageEmbedDefault=y
Mise à jour de l'intersection surface/surface - Recherche et supprime les résultats d'intersection en double. Corrige un bogue avec des résultats d'intersection de courbes multiples signalé par Przemas dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10460.1
Mise à jour de la commande de chanfrein - Swap. Ajout d'un bouton de permutation lorsque "Utiliser 2 distances" est actif. Demandé sur le forum par 3image ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10289.37
Mise à jour de la combinaison de normales de vertex pour l'exportation du maillage. Changement de la combinaison normale des sommets pour utiliser une tolérance de 0.5 degrés au lieu de 3.0 degrés. Il peut également être changé maintenant dans moi.ini .
[Mesh Export]
UnifyVertexNormalsAngleToleranceDegrees=0.5
Mise à jour de la boîte de dialogue des propriétés de l'image de fond - ajout des champs largeur/hauteur. Demandé par moritz sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10289.29
Mise à jour de la sélection de texte. Correction du problème où la sélection de texte était perdue lorsque l'on faisait glisser une sélection et que l'on relâchait le bouton de la souris hors de la fenêtre UIPanel.
Mise à jour de la sélection - sélection multiple. Si la sélection multiple avec la touche MAJ est activée, la sélection n'est pas effacée si la touche Ctrl est enfoncée afin que Ctrl+drag fonctionne toujours comme une fenêtre de désélection. Corrige un bogue signalé sur le forum par Viewbyte ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10439.3
Mise à jour de l'importation DXF - correction du bogue de débordement 16 bits de l'importation LWPOLYLINE rapporté par e-mail par Jörg Vollmer.
Mise à jour des coins de dessin d'une courbe - Faire en sorte que le point actif actuel dans le dessin d'une courbe soit montré comme un coin si ctrl est enfoncé. Auparavant, il n'était affiché comme un coin qu'après avoir été sélectionné.
Mise à jour de l'importation STEP - Entités FACETED_BREP. La v3 lisait les entités FACETED_BREP mais cela a été perdu dans la v4 avec la restructuration pour utiliser plusieurs threads. Traite maintenant ces entités, corrige la régression v3/v4 signalée sur le forum par Martin ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10415.7
Mise à jour de la Fonction D'enrobage (Flow). Coudre les bords pour le résultat de l'enrobage afin qu'un tube fermé ait des bords de début et de fin joints pour former un solide.
Mise à jour de la commande ArcCenter - int snap. Active le point d'accrochage de l'intersection radiale pour la commande ArcCenter. Corrige un bug rapporté par André dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10399.1
Correction de la régression de la transformation. Correction d'une régression où l'invalidation de la carte de test d'impact lors d'un changement de sélection (changement vers la fin de la v4 beta) entraînait la régénération de la carte de test d'impact à chaque déplacement de souris pour les transformations comme le déplacement d'objet. Correction d'une régression de performance signalée par e-mail par Massimo.
Ajout d'une option pour l'opacité de la grille dans moi.ini sous [Grid] GridOpacity=255.
Mise à jour des expressions relatives. Ajout d'une expression relative en pourcentage, de sorte que vous pouvez mettre 120% dans un champ de distance pour modifier la valeur actuelle.
Corrections pour l'exécution sur Mac avec un système de fichiers sensible à la casse.
Mise à jour de la fonction Tend (Loft) avec style de loft = Direct. Le loft avec le style de loft = Direct générait des faces plus longues dans les segments coplanaires. Correction d'un bug signalé par Ed Ferguson dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10160.1
Mise à jour de la commande Merge. Traiter les courbes avec la commande Merge - fusionnera les segments G1 ensemble.
[Voir]
BackgroundImageEmbedDefault=y
Mise à jour de l'intersection surface/surface - Recherche et supprime les résultats d'intersection en double. Corrige un bogue avec des résultats d'intersection de courbes multiples signalé par Przemas dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10460.1
Mise à jour de la commande de chanfrein - Swap. Ajout d'un bouton de permutation lorsque "Utiliser 2 distances" est actif. Demandé sur le forum par 3image ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10289.37
Mise à jour de la combinaison de normales de vertex pour l'exportation du maillage. Changement de la combinaison normale des sommets pour utiliser une tolérance de 0.5 degrés au lieu de 3.0 degrés. Il peut également être changé maintenant dans moi.ini .
[Mesh Export]
UnifyVertexNormalsAngleToleranceDegrees=0.5
Mise à jour de la boîte de dialogue des propriétés de l'image de fond - ajout des champs largeur/hauteur. Demandé par moritz sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10289.29
Mise à jour de la sélection de texte. Correction du problème où la sélection de texte était perdue lorsque l'on faisait glisser une sélection et que l'on relâchait le bouton de la souris hors de la fenêtre UIPanel.
Mise à jour de la sélection - sélection multiple. Si la sélection multiple avec la touche MAJ est activée, la sélection n'est pas effacée si la touche Ctrl est enfoncée afin que Ctrl+drag fonctionne toujours comme une fenêtre de désélection. Corrige un bogue signalé sur le forum par Viewbyte ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10439.3
Mise à jour de l'importation DXF - correction du bogue de débordement 16 bits de l'importation LWPOLYLINE rapporté par e-mail par Jörg Vollmer.
Mise à jour des coins de dessin d'une courbe - Faire en sorte que le point actif actuel dans le dessin d'une courbe soit montré comme un coin si ctrl est enfoncé. Auparavant, il n'était affiché comme un coin qu'après avoir été sélectionné.
Mise à jour de l'importation STEP - Entités FACETED_BREP. La v3 lisait les entités FACETED_BREP mais cela a été perdu dans la v4 avec la restructuration pour utiliser plusieurs threads. Traite maintenant ces entités, corrige la régression v3/v4 signalée sur le forum par Martin ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10415.7
Mise à jour de la Fonction D'enrobage (Flow). Coudre les bords pour le résultat de l'enrobage afin qu'un tube fermé ait des bords de début et de fin joints pour former un solide.
Mise à jour de la commande ArcCenter - int snap. Active le point d'accrochage de l'intersection radiale pour la commande ArcCenter. Corrige un bug rapporté par André dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10399.1
Correction de la régression de la transformation. Correction d'une régression où l'invalidation de la carte de test d'impact lors d'un changement de sélection (changement vers la fin de la v4 beta) entraînait la régénération de la carte de test d'impact à chaque déplacement de souris pour les transformations comme le déplacement d'objet. Correction d'une régression de performance signalée par e-mail par Massimo.
Ajout d'une option pour l'opacité de la grille dans moi.ini sous [Grid] GridOpacity=255.
Mise à jour des expressions relatives. Ajout d'une expression relative en pourcentage, de sorte que vous pouvez mettre 120% dans un champ de distance pour modifier la valeur actuelle.
Corrections pour l'exécution sur Mac avec un système de fichiers sensible à la casse.
Mise à jour de la fonction Tend (Loft) avec style de loft = Direct. Le loft avec le style de loft = Direct générait des faces plus longues dans les segments coplanaires. Correction d'un bug signalé par Ed Ferguson dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10160.1
Mise à jour de la commande Merge. Traiter les courbes avec la commande Merge - fusionnera les segments G1 ensemble.
Diverses autres corrections de bogues mineurs.
Scripting : (pour les codeurs)
Mise à jour de FilesystemObjectModel::getFiles() - Ajout d'un 3ème paramètre optionnel pour récurer les sous-répertoires.
Ajout de la propriété annotationFrame aux objets d'annotation pour qu'un script puisse obtenir le plan d'un objet d'annotation.
Scripting des points d'édition - Ajout d'une interface de scripting sur les objets pour :
obj.hasEditPoints - propriété en lecture seule true si l'objet a des points d'édition, false sinon.
obj.hasSelectedEditPoints - propriété en lecture seule true si l'objet a des points d'édition sélectionnés.
obj.numEditPoints - propriété en lecture seule pour le nombre de points d'édition.
obj.getEditPoint( index ) - Méthode qui renvoie un point x, y, z pour l'index de point d'édition donné.
obj.getEditPointSelected( index ) - méthode qui renvoie true si le point d'édition donné est sélectionné.
Corrige également le bogue des points d'affichage qui ne rafraîchissent pas correctement le redessin lorsqu'ils sont définis par un script plutôt que par la commande show points.
Mise à jour de viewport.interactiveViewChange(). Ajout d'un second paramètre optionnel à la fonction viewport.interactiveViewChange() pour permettre à un script de l'utiliser de manière modale. Correction pour le script d'Ed postée sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10403.1
Mise à jour de la gestion du dialogue de sauvegarde du fichier. Permet d'initialiser le dialogue avec un nom de répertoire, comme :
SaveAs c:\output\fbx
Lorsqu'on lui donne un nom de répertoire, la boîte de dialogue démarre dans ce répertoire.
Scripting : (pour les codeurs)
Mise à jour de FilesystemObjectModel::getFiles() - Ajout d'un 3ème paramètre optionnel pour récurer les sous-répertoires.
Ajout de la propriété annotationFrame aux objets d'annotation pour qu'un script puisse obtenir le plan d'un objet d'annotation.
Scripting des points d'édition - Ajout d'une interface de scripting sur les objets pour :
obj.hasEditPoints - propriété en lecture seule true si l'objet a des points d'édition, false sinon.
obj.hasSelectedEditPoints - propriété en lecture seule true si l'objet a des points d'édition sélectionnés.
obj.numEditPoints - propriété en lecture seule pour le nombre de points d'édition.
obj.getEditPoint( index ) - Méthode qui renvoie un point x, y, z pour l'index de point d'édition donné.
obj.getEditPointSelected( index ) - méthode qui renvoie true si le point d'édition donné est sélectionné.
Corrige également le bogue des points d'affichage qui ne rafraîchissent pas correctement le redessin lorsqu'ils sont définis par un script plutôt que par la commande show points.
Mise à jour de viewport.interactiveViewChange(). Ajout d'un second paramètre optionnel à la fonction viewport.interactiveViewChange() pour permettre à un script de l'utiliser de manière modale. Correction pour le script d'Ed postée sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=10403.1
Mise à jour de la gestion du dialogue de sauvegarde du fichier. Permet d'initialiser le dialogue avec un nom de répertoire, comme :
SaveAs c:\output\fbx
Lorsqu'on lui donne un nom de répertoire, la boîte de dialogue démarre dans ce répertoire.