Beta V 4 du 10 Septembre 2020

 From:  Frenchy Pilou (PILOU)
619.2 
liste complète : (copieux) :) (ou ici plus lisible) https://moiscript.weebly.com/v4-quoi-de-neuf.html

DXF mis à jour - supporte l'importation/exportation d'entités de dimension.
L'importation de TEXTE, MTEXTE, LEADER et DIMENSION (sous-types linéaire, angulaire, rayon/diamètre) est désormais prise en charge. MoI exportera les dimensions vers les entités MTEXT, LEADER, et DIMENSION.

Mise à jour des annotations, ajout du comportement de mise à l'échelle des unités de modèle.
Il y a une nouvelle option pour le comportement des annotations sous Détails > Propriétés des annotations > "Mise à l'échelle :" qui a des options pour "Mise à l'échelle : Par taille d'écran" ou "Mise à l'échelle : Par unités de modèle".

Mise à l'échelle : "Par taille d'écran" fonctionne de la même manière que les bêtas de la v4 précédente, où le texte et les flèches restent de la même taille à l'écran, indépendamment du niveau de zoom actuel.

Mise à l'échelle : "Par unités de modèles" est une nouvelle option qui fait que le texte et les flèches se comportent de la même manière que la géométrie, où elle est fixée à une certaine taille d'unité (donnée par le champ Hauteur : juste après) et s'affichera plus ou moins grand lorsque vous effectuez un zoom avant ou arrière. Cette option offre une meilleure compatibilité avec les autres programmes de CAO, puisque presque tous les autres programmes fonctionnent de cette manière. Lorsque vous importez des dimensions à partir d'un fichier DXF ou 3DM créé dans Rhino, ils utiliseront par défaut cette méthode afin que les éléments tels que les cartouches où il y a des lignes ou d'autres géométries créant un tableau avec du texte à l'intérieur fonctionnent comme prévu.

Terminé les dialogues des commandes AnnotationText et Leader.

Mise à jour des Points d'affichage pour le Leader de dimension. Permettre la suppression des points d'édition sélectionnés pour les objets du leader.

Gérer les erreurs d'écriture de fichiers - une boîte de dialogue d'erreur s'affiche maintenant sur les échecs d'écriture de fichiers comme si le système manquait d'espace disque ou si la permission était refusée.

Mises à jour de 3DConnexion :
- Mise à jour de la vitesse par défaut de 3dx sur Windows. Sous Windows, la vitesse de translation et de rotation 3dx était trop rapide, implémenter la même vitesse par défaut que sous Mac.
- Ajout du paramètre "Roulis inverse" dans le dialogue Options sous Options > Affichage > Options Rotation/Pan/Zoom > Options 3DConnexion. Demandé par Fred dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9660.30
- Ajout également de paramètres individuels pour l'inversion de la rotation ou de l'inclinaison dans moi.ini, sous :
[3Dconnexion]
<...>
ReverseTwist=y
ReverseTilt=y

Mettre à jour les Sauvegardes aux Formats STEP/IGES/SAT pour les objets cachés.
Par défaut, n'écrivez pas d'objets cachés aux formats STEP/IGES/SAT lorsque vous effectuez une sauvegarde, sauf si cette option est activée dans moi.ini under :
[Export NURBS]
WriteBlankedObjects=y

La Régression a également été corrigée dans la version 4, où le drapeau masqué pour les objets cachés n'était pas activé sur l'exportation IGES et SAT.
Mise à jour de l'Historique
Activez les extrusions de faces et la commande Reconstruire pour déclencher les mises à jour de l'historique.

Révision du décalage des courbes - Amélioration de la robustesse du décalage des courbes :
1 - lors de l'extension d'une ligne, créer une nouvelle ligne analytique comme résultat et utiliser une intersection ligne analytique/ligne lorsque c'est possible pour plus de précision.

2 - Mettre à jour la façon dont le traitement des angles convexes est effectué pour éviter d'obtenir de petites boucles qui pourraient confondre la classification des coupes et qui n'étaient pas coupées avec des polylignes à angle faible comme rapporté sur le forum par Yanik ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9660.47

3 - Mieux sélectionner les intersections et éliminer les résultats sauvages de l'extension du type de réflexion G2. Devrait éliminer les extensions folles de bouclage.

Mettre à jour les couleurs d'affichage des axes de grille
Ajoutée l'option de couleur de l'axe Z sous Options > Grille. Les lignes de l'axe de la grille sont maintenant colorées en fonction de leur orientation 3D. Ainsi, par exemple, si vous définissez la couleur de l'axe Z sur le bleu, la ligne de l'axe vertical de la vue de face sera colorée en bleu. Auparavant, les lignes de l'axe de la grille étaient colorées de la même façon dans toutes les fenêtres. Vous pouvez réactiver cette façon de faire en réglant moi.ini :
[Grille]
<...>
UseOldStyleGridAxisColors=y

Ajout également d'une option permettant d'afficher la ligne de la grille de l'axe z dans la vue 3D, sous Options > Grille > "Afficher la grille de l'axe z dans la vue 3D".

Mise à jour de l'exportation IGES
Ajouter une option sous Options > Import/Export > Options IGES > "Write solids as" pour écrire les solides soit comme une entité IGES de type 186 "Manifold Solid B-Rep" soit comme des surfaces individuelles séparées comme le faisait toujours MoI v3 et avant.

Mettre à jour Dessiner un solide > Commande Texte - styles de police
Ajouter un style : option de la commande Dessin solide > Texte pour permettre d'accéder aux styles de la police autres que le gras/italique. Demandé sur le forum par Javier ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=8766.1

Mise à jour du message d'erreur lorsque la commande n'est pas trouvée.
Afficher un dialogue "commande non trouvée" au lieu d'un dialogue d'exception de script si vous essayez d'exécuter une commande qui n'a pas été trouvée dans un dossier de commande.
​Mise à jour de l'Aide > À propos de dialog
Ajoutez des liens pour afficher les clés de licence et le CLUF dans le dialogue Aide > À propos. La boîte de dialogue des clés de licence offre également une option permettant de supprimer les clés de licence.

Dialogue détaillé des propriétés de l'objet
Implémenter l'annulation des changements de propriétés d'annotation dans le dialogue détaillé des propriétés de l'objet.

Mettre à jour du rapport sur les types de panneaux de propriétés détaillées
Ajoutés des rapports pour toutes les courbes, tous les bords et tous les bords de brèche s'il y a un mélange de différents types afin qu'il y ait une étiquette qui puisse être ciblée pour saisir tous les bords ou toutes les courbes au lieu d'avoir besoin de faire Maj+clic sur les "Courbes ouvertes" et les "Courbes fermées" par exemple.

Ajoutée une option de facteur d'échelle pour l'importation de SubD, dans moi.ini
[SubD Import]
Facteur d'échelle = 1,0
demandé par Tudor dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=8665.109

Mise à jour des annotations limitant la taille
N'incluez pas d'annotations dans la taille limite du cadre d'édition ou du panneau de propriétés, à moins que seules les annotations soient sélectionnées.

Il existe une option moi.ini pour inclure les annotations toujours dans ces tailles :
Annotations] Inclure des annotations dans la taille limite=y

Discuté dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9526.30

Mise à jour de la persistance de l'option "Angle du maillage".
Au démarrage, fixez la valeur de l'option Options > Affichage > Paramètres de maillage > Angle du maillage entre 10 et 45 degrés. Il peut être réglé plus bas par un script de démarrage.

Mise à jour de l'affichage du texte d'annotation - polices de substitution
Permettre l'utilisation de polices de substitution dans le rendu des textes d'annotation. Cela permettra de passer automatiquement à une police de substitution si la police actuelle ne comporte pas de glyphes pour les caractères de texte unicode affichés.

Mise à jour de l'importation de SubD
Utilisez le nom de l'objet de maillage dans la conversion des fichiers de sous-objets et fusionnez les styles avec les mêmes noms et couleurs. Demandé dans le forum par pafurijaz ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9660.142

Mise à jour du dialogue des styles d'édition.
Afficher du texte en gris sur les styles sans que rien ne leur soit attribué comme dans le navigateur de scènes. Demandé par pafurijaz dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9660.148
Mise à jour du Drag & Drop d'objet
Option permettant de désactiver le glissement d'objets, de sorte que le fait de cliquer sur les objets n'entraînera que des sélections et non des glissements :
Sélection
<...>'
DisableObjectDrag=y

Corrections de bugs :

Correction d'un bug de démaximisation de la fenêtre sur Windows - Correction d'un bogue où la position restaurée de la fenêtre utilisée pour démaximiser une fenêtre continuait de s'agrandir à chaque exécution.

Mise à jour de la sélection avec les filtres activés - si un filtre de sélection est actif, lorsque vous cliquez sur une arête ou de la face d'un objet pour le sélectionner, la mise à jour de la sélection s'effectue immédiatement en appuyant sur la souris au lieu de la relâcher. Correction d'un bug signalé par pior dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9660.24

Mise à jour du test de frappe. Correction d'un bogue où le renforcement des arêtes pour les BRep sélectionnées se produisait même pour les objets avec un verrouillage de la sélection sur eux. Ainsi, dans le cas d'une différence booléenne, les arêtes de l'objet de base étaient surélevés par rapport à toute courbe autonome au même endroit, ce qui empêchait leur sélection. Correction d'un bogue signalé par Vladimir par courrier électronique.

Correction d'un bug de texte d'annotation avec la propriété d'ancrage de texte. La propriété d'ancrage de texte ne persistait pas correctement pour toutes les valeurs.

Correction d'un bug concernant l'importation d'un type de surface DEGENERATE_TOROIDAL_SURFACE via le format STEP.

Correction d'un bug concernant le Chanfrein/Congé avec des surfaces fines. Si une surface de chanfrein était mince (moins de 10*tolérances), il était possible que les surfaces de chanfrein ne soient pas connectées correctement car il suffisait de prendre la première dans la tolérance au lieu de la plus proche.

Correction d'un bug concernant la gestion des raccourcis clavier sur Mac avec un clavier japonais. Rapporté sur le forum par nemuneko ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9660.39

Correction d'un bug de raccourci clavier où la touche Verrouillage des Majuscule était interprétée comme la lettre "A".
Rapporté sur le forum par nemuneko ici : http://moi3d.com/forum/index.php?webtag=MOI&msg=9660.39

Correction de bugs concernant la taille et le positionnement des dialogues.
Auparavant, lors de l'affichage d'un dialogue redimensionnable, s'il y avait une taille sauvegardée d'une utilisation précédente, elle restaurait cette même taille. Le bug était que si la taille du dialogue était faite sur un moniteur haute résolution et que l'utilisation était passée à un autre écran, la taille du dialogue sauvegardé pouvait dépasser la résolution de l'écran actuel. Corrigé en limitant la largeur et la hauteur des dialogues sauvegardés par la taille actuelle de l'écran. De plus, si une position sauvegardée pour un dialogue est utilisée, vérifiez si elle est visible à l'écran avant de l'utiliser. De plus, ne permetait pas aux dialogues redimensionnables de se réduire à 0 en largeur ou en hauteur. Correction de bugs signalés par James par courrier électronique.

Correction d'un bug de Tubage - Le cadrage du Tubage de forme libre avait un bug lorsque les segments de rail étaient anti-tangents. Correction d'un bug signalé par e-mail par Pilou.

Mise à jour du rendu du texte des cotes - Le positionnement en Y des glyphes utilisait un routage incorrect. Causait des glyphes mal positionnés lors de l'utilisation de la police Gill Sans 18 pt sur Mac. Correction d'un bug d'affichage de texte signalé par courriel par James.

Filetage à rayon variable - Correction d'un mélange linéaire. Correction d'un bug dans le filetage à rayon variable avec l'option "linear blend" lorsque les surfaces de filets n'étaient pas étendues correctement. Correction d'un bug signalé sur le forum par Dan R ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9753.1
Correction du bug de la pointe de flèche - les lignes de flèche de dimension extérieure ne sont pas placées correctement sur les objets à grande échelle. Correction d'un bogue signalé par James par courrier électronique.

Correction de l'affichage de la dimension pieds et pouces - pour les pieds et pouces, vérifiait si la police ne supporte pas les caractères de fraction Unicode utilisés et si ce n'est pas le cas, remplacera par un texte long comme 1/2.

Correction de l'importation STEP/IGES d'entités de courbes composites avec des discontinuités G0. Recherchez les discontinuités G0 dans les courbes importées et les décompose en courbes séparées.

Correction d'un bug de dialogue de fichier - Correction d'un bug où le dialogue d'ouverture de fichier appelé par le script ne renvoyait pas de chaîne vide lorsqu'il était annulé.

Correction d'un bug de l'éditeur de nœuds signalé dans le forum par Wayne ici :
http://moi3d.com/forum/messages.php?webtag=MOI&msg=7713.880

Correction du bug "Extruder" avec les embouts désactivés - Lors de l'extrusion d'une courbe avec les embouts désactivés, une Brep avec des coques disjointes était créée s'il y avait des trous intérieurs dans l'extrusion.

Mise à Jour du Tubage - vérification des extrémités de segments de rail. Si les tangentes des extrémités des segments sont à moins de 2 degrés de la tangente, il faut les rectifier pour qu'elles soient exactement tangentes si possible. Cela peut améliorer les échecs de l'onglet d'angle avec les segments qui sont proches de G1 mais pas tout à fait. Correction d'un bug signalé par Salvatore par courrier électronique.

Correction des bugs de Congé de courbe -
Correction d'un bug de filetage des courbes signalé par Cemortan_Tudor sur le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=8665.97
et aussi un autre bug de filetage de courbes signalé il y a longtemps sur le forum par macray ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=4958.1

Correction de la dernière sélection créée ne fonctionnant pas avec le glisser/copier. Rapporté par Tudor dans le forum ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=8665.115

Correction d'un bug dans la ligne / ligne d'orientation
Correction d'un bug lorsque les directions des lignes sont opposées. Correction d'un bug signalé dans le forum par Karsten ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9476.422

Correction d'un plantage du dialogue de fichier sur Mac Catalina OS
Implémentation de la correction de QTBUG-83342 pour un bogue du système d'exploitation qui pouvait faire planter le dialogue de fichier sur Mac Catalina OS.
Mise à jour du système de Script
​Ajout de Curve.getIsTangentEdge( AngleToleranceDegrees /* optionnel, par défaut = 2 degrés */ ) ;
- retourne vrai si les 2 surfaces de chaque côté du bord sont tangentes l'une à l'autre.

Ajout de CurveSegment.getIsG1ToAdjacentSegment( 0 /* 0 pour le début, 1 pour la fin */ ) ;
- retorne vrai si le segment suivant au début ou à la fin est lisse par rapport au segment de courbe actuel.

moi.filesystem.shellExecute(), ajout d'un paramètre "wait for finished".
moi.filesystem.shellExecute( path, params, wait ) prend maintenant un 3ème paramètre booléen optionnel pour savoir s'il faut attendre que le processus appelé soit terminé avant de retourner. Lorsqu'elle est utilisée, la valeur de retour de shellExecute() est un objet contenant une propriété .exitCode pour le code de sortie entier du processus appelé et un paramètre .output string pour tout texte écrit par le processus appelé sur stdout.
Exemple :
var res = moi.filesystem.shellExecute( 'cmd /c dir c:\\\', '', true ) ;
if ( res.output ) moi.ui.alert( res.output ) ;

Mise à jour de la base de données géométriques::addObject()
Ignorez l'ajout si l'objet donné est déjà dans la base de données de géométrie. Corrige un bug de l'éditeur de nœuds signalé par Brian ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=7777.1668

Ajoutées les propriétés face.isNew et curve.isNewEdge
Ces propriétés seront définies comme vraies si la face ou le bord a été nouvellement généré au lieu de provenir d'une copie ou d'un morceau découpé d'un original.
exemple :
script : /* Sélectionner de nouvelles arêtes aux intersections après une commande booléenne */ moi.geometryDatabase.deselectAll() ;
var breps = moi.geometryDatabase.getLastCreated().getBReps() ; for ( var i = 0 ; i < breps.length ; ++i )
{ var edges = breps.item(i).getEdges() ; for ( var j = 0 ; j < edges.length ; ++j ) { var e = edges.item(j) ;
if ( e.isNewEdge ) e.selected = true ; } }

Ajouté moi.geometryDatabase.getLastCreated() ; - get an object list of the objects that were created by the last run command.
Exemple :
script : /* Sélectionner les surfaces de congé */ moi.geometryDatabase.deselectAll() ; var breps = moi.geometryDatabase.getLastCreated().getBReps() ;
for ( var i = 0 ; i < breps.length ; ++i ) { var faces = breps.item(i).getFaces() ; for ( var j = 0 ; j < faces.length ; ++j )
{ var f = faces.item(j) ; if ( f.isNew ) f.selected = true ; } }

Mise à jour des méthodes MoiList et ObjectList - Ajout des méthodes list.clear() et objectlist.clear() qui videront la liste pour qu'elle ait une longueur de 0.

Ajout de curve.changeClosedCurveSeam( new_start_parameter, rebuild_circles /*optional, default = true */ ) ;
Mise à jour des scripts - méthodes de déplacement et de dimensionnement des fenêtres.
Ajout de méthodes de positionnement des fenêtres :

win.move( x, y ) ; - déplacer la fenêtre aux coordonnées x,y données à l'écran. On peut donner soit un argument d'un objet avec des propriétés x,y, soit 2 arguments numériques.
win.resize( width, height ) - redimensionne la zone client d'une fenêtre à la largeur et à la hauteur données. Peut être donné soit un argument d'un objet avec des propriétés x,y ou width,height, soit 2 arguments numériques.
win.getPosition() - renvoie un objet avec des propriétés .x et .y pour les coordonnées de la fenêtre à l'écran.
win.getSize() - renvoie un objet avec des propriétés .width et .height pour la largeur et la hauteur de la zone client de la fenêtre.
win.getFrameSize() - renvoie un objet avec des propriétés .width et .height pour la largeur et la hauteur du cadre de la fenêtre.

On a également ajouté moi.ui.getScreenRect( element ) qui donnera les coordonnées d'écran de l'élément donné ou UIPanel. Retourne un objet avec les propriétés .left, .top, .right, .bottom, .width, et .height.

Exemple - augmenter la largeur du dialogue Options de 10 pixels :

var uipanel = moi.ui.getUIPanel( 'moi://ui/options.htm' ) ;
if ( uipanel )
{
var dlg = uipanel.moiWindow ;
var pos = dlg.getSize() ; pos.width += 10 ; dlg.resize( pos ) ;
}

Exemple - positionnez la boîte de dialogue Options à droite du volet latéral :

var options = moi.ui.getUIPanel( 'moi://ui/options.htm' ) ;
si ( options )
{
var rc = moi.ui.getScreenRect(moi.ui.sidePane) ;
options.moiWindow.move(rc.right,rc.top) ;
}

Mise à jour de la personnalisation des onglets de vue
Appelez une fonction UpdateViewTab( TabButton ) dans l'interface utilisateur lorsqu'un onglet de vue a été inversé, afin qu'il soit possible d'implémenter une interface utilisateur personnalisée comme par exemple avoir des images à la place du texte. Demandé sur le forum par Tim Whiteman ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=9821.1


Annulation du script Esc de mise à jour
Utilise une méthode différente pour déterminer le temps écoulé depuis la dernière attente de l'événement. La méthode précédente de surveillance des appels à WaitableObject::waitForEvent() n'est pas bonne car il y a d'autres types de boucles d'événements qui ne passent pas par WaitableObject, comme les dialogues modaux ou les listes déroulantes des boîtes combo. La nouvelle méthode devrait gérer tous les types de boucles d'événements.

Mise à jour de la création de de Déclages - Active une nouvelle propriété factory.curveOffsetDistance pour renvoyer la distance utilisée par le décalage en mode point traversant.

Mise à jour du pointpicker, ajout de la méthode recalc() Demandé sur le forum par Tudor ici :
http://moi3d.com/forum/index.php?webtag=MOI&msg=8665.221
---
Pilou
Is beautiful that please without concept!
My Gallery