• Home
  • Le script
    • Ajouter une icône
    • Commenter une commande
    • Fenêtre Flottante
    • Liste Scripts Commandes
    • Palette de Scripts
    • Panneaux Etendus
    • Raccourci sur une commande
    • Simplifier un script
    • Polygones vers Nurbs
  • "Script en ligne"
    • Autres >
      • Bascules
      • Browser
      • Camera&TargetPoint to Clipboard
      • Cartouche
      • CTRL C CTRL V
      • CurveLength
      • CurveLengthBeingDrawn
      • Golden
      • MatchObjectName
      • Plan Aux
      • Points
      • Print Screen
      • PurgeLayer
      • SetObjectName
      • Styles >
        • AddStyle
        • EditStyle
        • Assign Styles to solids
        • RandomColor
        • Random Style Solid Color
        • CreateStyleFromObjectName
        • Make gradient Styles
      • TakeSnapshot
    • Déplacer la vue/Objet >
      • MoveTargetToObjectsV2
    • Sélection >
      • SelectStyleV2 V3
      • SelectUnnamedObjectsV2
      • Selection Loop
      • Select by Length
      • Select Biggest / Smallest
      • RandomSelection
      • Naked edges
      • LastObjectsCreated
      • SetSelectedObjectToWireframe V2
      • SetSelectedObjectToWireframe & Lock V2
    • Affichage >
      • Filaire Ombré
      • LightingOptions
      • Pers/Parallèle
      • RandomizeStyleColors
      • ViewStack
    • Cacher >
      • HideSeamEdge
      • HideToHidden
      • Isolate
      • Hide Controls & Grid & Axes
    • Vues >
      • Cycler les vues
      • Dimetric
      • Isometric
      • Perpective
      • Zoom 4 Vues
      • Position Caméra
  • Les Commandes
    • Fonctions >
      • Fonctions Cachées
      • BisectorLine
      • CenterAtOrigin PutOnGround
      • Chanfreins
      • Dégradés
      • Copier
      • DividingPlanes
      • Effacer les Congés
      • Eraser
      • Hachures
      • Intersect2Circles
      • MoveSliceToPoint
      • OffsetMultiStep
      • QuickTrim
      • Randomize
      • ScaleIndividual
      • SelectIntersected
      • Tournette
      • TrimStencil
    • Courbes >
      • CCC
      • Close Curves
      • Conversion Courbe
      • Courbes en Cercles
      • Courbes par Lot
      • DelCorners
      • InsertCircles
      • LineWeb
      • MultiIso
      • MultiIso+
      • Ordre Courbes
      • Pts d'une courbe
      • Reconstruct Curves
      • RotateHistoryAray
      • ShrinkLines
      • UnwrapCurve
      • UVchanger-plane
    • Objets. >
      • Distributions
      • Anneaux
      • Boulons Filetés
      • Portes et Fenêtres
      • RotateObjects
      • Toroïdal Knots
      • Tubes
    • Scripts de Max Smirnov >
      • Scripts de Max Smirnov
      • Calculateur de Volume
      • Customiser l'Ui
      • Cycles pour Moi
      • Ecrous et Boulons
      • Cotations
      • Dispersions
      • Elephant Système Nodal
      • Engrenages
      • Fx Graph
      • Fx Graph 3D
      • Heightmap
      • Simulation Tissu
      • Subdivision
      • Bridge
    • 4 vues 2D
    • AssignName
    • AssignPresetName
    • BlendCap
    • FullScreen
    • Géométries par Bemfarmer
    • Importer des MNT
    • Lignes d'Aide
    • Points XYZ
    • r2d3
    • Sauvegardes Multiples
    • ScaleArray
  • Gif Animés
    • Cadre de Manipulation >
      • Cadre de Manipulation01
      • Cadre de Manipulation 02
      • Cadre de Manipulation 03
      • Cadre de Manipulation 04
      • Cadre de Manipulation 05
    • Orientation >
      • Oriente 01
      • Oriente 02
      • Oriente 03
      • Oriente 04
      • Oriente 05
      • Oriente 06
      • Oriente 07
      • Oriente 08
      • Oriente 09
    • Creux >
      • Creux 01
      • Creux 02
      • Creux 03
    • Offset
    • Accroche à une surface
    • Snap sur alignement
    • Trame droite
    • Trame sur courbe
    • Arcs et cercles tangents
    • Image d'arrière Plan
    • Propriété d'Objets
    • Rotation
    • Tension automatique
  • Utilitaires
    • Nouveautés V5
    • Nouveautés V4
    • V4 Quoi de neuf ?
    • V3 Quoi de neuf?
    • Liste des mises à jour
    • Aile Naca
    • Algodoo
    • AutoHotPie
    • Companion
    • Console
    • CutList
    • DESIGN CONCEPT
    • Engrenages en bois
    • Format OBJ en 3DM >
      • Instant Meshes
      • _importObj
      • obj23dm
    • Kitbash
    • Mannequin
    • MGB (Interface)
    • MergeOBJ
    • Moi et Modo
    • Paint 3D
    • PalletteFm
    • Pont Moi Nvil KeyShot
    • Proflow
    • Raccourcis Pro
    • Rocket 3F
    • SpeedFlow
    • Somsky
    • Vectorisation
    • Vers ZBrush
    • Voronoi etc
    • ZSurf
  • Vidéos
    • Mini Vidéos
    • Nouveauté Béta V3 >
      • Enrobage d'objet V3
      • Enrobage d'un Tore V3
      • Twist V3
      • Isocurve V3
      • Découpe Iso V3
      • Extrusion V3
      • Nsided V3
    • Inutilitaires >
      • Inutilitaire 1
      • Inutilitaire 2
      • Inutilitaire 3
      • Inutilitaire 4
    • Menu Oriente >
      • Oriente
      • Ligne-Ligne
      • Vue-Vue
      • Bonus
    • Deux Rails
    • Tubage Booléen
    • Tendre
    • LineWeb (toile d'araignée)
    • Texte + Booléen Intersection
    • Escalier hexagonal
    • Sélecteur
    • Déplacer des objets
    • Pivoter des objets
    • ShiftArray
    • ScriptArray
    • Les Maîtres
  • Tutos
    • Trucs & Astuces >
      • Trucs Astuces
      • Truc Astuces 2
    • 3D Primer >
      • 3D Primer 1
      • 3D Primer 2
      • 3D Primer 3
      • 3D Primer 4
      • 3D Primer 5
    • Les Objets >
      • Anneau Strié
      • Avion
      • Bague
      • Bateau Riva
      • Batteur d'oeufs
      • Boîte
      • Boîtier
      • Bouteille Cognac
      • Bouteille plastique
      • Bouteille de soda
      • Chaise d'école
      • Chaussure
      • Cordon
      • Détergent
      • Haut-parleur
      • Jante
      • Lunettes de Mauro
      • Plaque électrique
      • Pneus
      • Poêle en fonte
      • Pomme Douche
      • Radio
      • Rasoir
      • Voiture
    • Les Surfaces >
      • Surfaces
      • Surfaces 2
      • Surface de Gordon
      • Les objets de Zarkow
    • L'éclairage dans Moi
    • Raccords manuels
    • Les Raccords
    • La SubDivision
    • Le tuto de Mauro
    • Solides
    • Tourbillon
    • Tutos by Liminal
    • Vasarely
    • Fiat Abarth
    • Le Truck de ED
    • La voiture de Ed
    • La Vespa de Mauro
    • Les voitures de MacGreggor
    • La Voiture de Zarkow
  • Divers
    • Free online >
      • BlueWillow
      • BlockBench
      • Cables
      • Effaceurs Arrière-Plan
      • Fractal Lab
      • Gaugan
      • Gravit Designer
      • Kinematic Simulator
      • Light Tracer
      • Image En Large
      • Monster Mash
      • Objets 3D
      • Origami Simulator
      • ONSHAPE >
        • Onshape extrude
      • p5.Js Web Editor
      • Pix2Pix
      • Piskel
      • Playground
      • Sculpt GL
      • Shapr3D
      • SketchUp
      • Snap
      • SPLINE
      • Stable Diffusion
      • Sumo Paint
      • TinkerCad
      • Topotopo
      • Vectary. >
        • Vectary
        • Doc Vectary VF
      • Vectr
      • Vervette
      • Voronator
      • Voxelizer
      • Wombo
      • Womp
    • Manuels >
      • Sauce Tomate (SU) >
        • 1001
        • Artisan: le Manuel
        • BoolTool 2
        • Doh
        • Flex - Series
        • Le Mètre à Ruban
        • LightUp >
          • Sur LightUp >
            • Au sujet de Lightup
            • Avis des Utilisateurs
            • Listes des mises à jours
          • LightUp 1.0 (31 pages)
          • LightUp Player >
            • Le Player
            • Le Web Player
            • Publier sur le Net
          • Tutos LightUp >
            • Eclairage IES
            • Lumière Volumétrique
            • Lumière Néon
            • Profondeur de Champ
            • Suppression des Lignes Cachées
            • Grilles de Lumières Paramétriques
            • Ombres sur Arrière-Plan
            • Réflexion
            • Eclairage Intérieur
          • Ressources
          • Exemples >
            • Interieur
          • LightUp 3.0 (6 pages)
          • LightUp Manuel 3.3 (77 pages)
          • LightUp 4.4 >
            • Eclairer Un Salon 1
            • Eclairer Un Salon 2
            • Eclairer un Salon 3
        • Medeek Construction
        • MSPhysics
        • PBR
        • PomPi
        • Podium >
          • Rendu Photoréaliste
          • Site Podium VF
        • Profil Builder 2
        • Samuel Tallet
        • Simfonia >
          • Déformations
          • Rotations 1
          • Tableur
          • Texte
          • Visibility
          • Discret
          • Table
        • SketchUV
        • SUbD
        • SU vers OpenSpace3D
        • Twilight Render V2
        • Video01 Plug SU >
          • Video01 Plug SU
          • Video02 Plug SU
          • Video03 Plug SU
          • Video04 Plug SU
          • Video05 Plug SU
        • Vertex Tools: le Manuel
        • Viz pour SketchUp
        • Visualizer
      • ArtForm
      • Cv3D Nurbs free
      • Flowscape
      • GAEA
      • GifCam
      • GroBoto : Le Manuel etc
      • Manuel 3DCoat V4 VF
      • Monolith
      • SCULPTRIS
      • SimLab Composer 2016
      • VPaint
      • White Rabbit CAD
    • DesignSpark Mechanical >
      • DesignSpark
      • DesignSpark 1
      • Video DesignSpark
    • PolyCAD >
      • PolyCAD
      • Charger PolyCAD Free
      • Courbes & Surfaces
      • X - Topologie
      • Utilisation d'Images
      • Transformer
      • Générateur de Coques
      • Nuages de Points
      • Sections
      • Intersection/Ajustement
      • IntelliHull
      • Scripter PolyCAD
      • Edition 3D
      • Contraintes
      • Exemple IntelliHull
      • Vidéos PolyCad
      • Aide - Divers PolyCAD
      • Holtrop
      • Format E57
      • Image Editeur
      • Hydro
      • Geometric Analysis
    • Qubicle Conctructor >
      • Qubicle 2.0
      • Qubicle
      • Export OBJ
    • 3DCoat Print free
    • Clavicula
    • FlowScape.
    • Goxel
    • MagicaCSG
    • MagicaVoxel
    • MarkovJunior
    • Meadow
    • Origami Robert Lang
    • pCon-planner
    • Pearltrees
    • Plasticity
    • PolyBrush
    • Shape
    • SolveSpace
    • Tablettes Chocolat
    • TwinMotion
    • TreeIt
    • Verve
    • Vengi
Moment Of Inspiration: Ze Zen Nurbs Modeleur !

CustomUi : Customiser l'Interface Utilisateur. By Max Smirnov

Post Original : 9 Janvier 2018
Remplacer la "CustomBar.html" et mettre le reste dans \AppData\Roaming\Moi\
Pour la version Beta V 4 (à partir de la 12 dec 2017)
Il peut être utile de mettre la CustomBar originale à l'abri!
Pour une interface à thème sombre voir Cody​!

​
Fabriquée à partir de l'interface utilisateur de Max Smirnov!

​
Ci-contre l'Interface à thème Sombre de Cody
Photo

Post Original  pour la V 3.0
Photo
Version pour PC et MAC
CustomUi.1.03.Win.Mac.zip
En l'utilisant, vous pouvez ajouter des boutons et des menus personnalisés pour La barre de Commande.

Avantages de CustomUI :
1 . CustomUI ajoute une seule ligne dans le fichier CommandBar.htm
2 . Structure de module flexible
3 . Tous les fichiers de CustomUI entreposés séparément des fichiers MoI. ( en d'autres termes, vous pouvez le supprimer en une seconde !

Installation :
- Sauvegarder le fichier .../ ui / CommandBar.htm (le renommer par exemple en CommandBar.htm_original )
- Extraire les archives de CustomUI dans le répertoire MoI/ ui /...
- Exécuter moi.exe

Description des fichiers :
"objects" - répertoire de la bibliothèque d'objets ( contient des objets de démonstration ) .
"SnapShots" - répertoire où sont stockés les Snapshot (capture d'écran)
.../ ui / CommandBar.htm - remplace le fichier d'origine CommandBar.htm
.../ ui / EmptyStrings.txt - fichier de langue vide ( l'addon Snapshot utilise ce fichier pour activer / désactiver une étiquette de la fenêtre d'affichage ( Front/Left/3D etc...)
.../ ui/customui/-05 Select.htm ..... modules boutons / Menus - / ui/customui/88 LightingPresets.htm
... / ui / customUI / CustomInit.js - le script d'initialisation de CustomUI -
.../ ui / customUI / mods / - répertoire de scripts / configs / - données des menus supplémentaires .. etc

Utilisation:
Allez dans le répertoire / de customUI et sélectionner les modules que vous souhaitez utiliser. Pour désactiver le module, il suffit de mettre symbole "-" au début du nom du fichier ( la plupart des modules sont déjà désactivés) .
-45 History.htm - bouton d'Historique désactivé
45 history.htm - bouton Historique activé
Vous pouvez modifier l'ordre des boutons en éditant un nombre à deux chiffres dans les noms de fichiers.
00 - sera le premiers, 99 - le dernier.

Note: J'utilise l'encodage base64 pour stocker des icônes directement dans le fichier htm comme lors de la création d'un fichier PNG.

Presque tous les modules exécutent les commandes intégrées de MoI ( copier, coller , masquer, verrouiller ...)

Mais j'ai écrit quatre extensions pour montrer la réelle puissance de ce système.

ObjLibrary
---------------
Avec cette extension, vous pouvez ajouter un objet à des bibliothèques d'objets.
Sélectionnez l'objet(s). Ouvrez le menu Bibliothèque. Cliquez sur le nom Library ( le symbole "+" apparaît).
Entrez le nom de l'objet. Tous les objets sélectionnés seront ajoutés comme objet de bibliothèque unique.
Si aucun objet n'est sélectionné, tous les objets seront enregistrés dans la bibliothèque comme objet unique.
Pour importer un objet : Open Library, clic gauche - objet d'importation ( commande d'importation de l'objet).
Faites un clic droit - import rapide ( commande d'importation ).
Utilisez le bouton central de la souris pour renommer l'objet.
Laissez le champ de nom vide et appuyez sur OK pour supprimer l'objet.

Vous pouvez utiliser n'importe quel répertoire de bibliothèque. Modifier \ customUI \ mods \ ObjLibrary.cfg.htm avec le bloc-notes pour ajouter / supprimer des bibliothèques.
ObjLibrary.cfg.htm est un fichier texte avec des valeurs séparées par des virgules.
Nom de la bibliothèque, le chemin complet vers le répertoire ( le symbole ";" est également accepté )
* Vous pouvez utiliser l'abréviation MOI au lieu du chemin complet pour pointer vers le répertoire du programme MOI. (MOI en majuscules! )
Exemples:
Les objets locaux : MOI\objects
Dropbox : C:\Users\DropboxUser\Dropbox\MoI library
Astuce: Pour obtenir le chemin complet d'un dossier sous Windows, maintenez la touche Maj, clic droit et sélectionnez "Copier en tant que chemin d'accès"

Il est  recommandé de mettre les dossiers Objects et SnapShots en dehors du Répertoire Moi!
Il faut donc modifier en conséquence par exemple le fichier ...\ui\customui\mods\ObjLibrary.cfg.htm
La ligne 1: Object Library;MOI\objects devient Object Library;C:\Users\votre_nom\Desktop\objects
si vos dossiers se trouvent sur le bureau!

Cerise sur le gâteau vous pouvez mettre autant de Bibliothèques (noms indifférents) que vous voulez donc autant de lignes dans le même fichier ObjLibrary.cfg.htm ! Par exemple il suffit d'ajouter ces 3 lignes
Nom de la Biblio1;C:\Users\votre_nom\Desktop\Pif\objects (Nom de la Biblio1 peut être différent de Pif)
Nom de la Biblio 2;C:\Users\votre_nom\Desktop\Paf\objects (Biblio 2 : Espaces acceptés)
Nom de la Biblio3;C:\Users\votre_nom\Desktop\Pof\objects... si vos dossiers se trouvent sur le bureau!
etc...ou n'importe quels chemins dans le fichier ObjLibrary.cfg.htm si vos dossiers sont ailleurs!

Et pour le dossier Snapshots la ligne 27 du dossier .../ui/customui/84 SnapShot.htm
var Path = moi.command.getOption('ExePath', false) + "\\snapshots\\";
devient (attention au double \\ )
var Path = "C:\\Users\\votre_nom\\Desktop\\snapshots\\";
Photo
L'arborescence générale du plugin!
ExtScripts
--------------
Cet addon génère dynamiquement la liste de tous les scripts externes. En outre, il ajoute à la liste quelques commandes "cachées" de Moi. (n°80 de la liste par défaut)
Il y a une autre version de cet addon - ExtScriptsFull . Il fonctionne exactement comme ExtScripts, mais il charge toutes les commandes de Moi. (N°81 de la liste par défaut)
Il faut donc mettre un - devant celui que l'on ne veut pas utiliser!
-80 ExtScripts par exem
ple et 81 ExtScriptsFull désactive le plug principal et va montrer toutes les commandes externes et  internes et cachées!
Vous pouvez ouvrir ExtScripts.menu.htm ( ExtScriptsFull.menu.htm ) avec le Bloc-notes et modifier la valeur de "maxlines" (par défaut 50 ) pour modifier le nombre maximum de lignes.

Remarque: Comme vous l'avez remarqué ( ou peut-être pas ) , j'utilise toujours symbole "_" au début de mes noms de scripts. L'utilisation de cette astuce permet de trouver et gérer facilement les scripts externes dans le répertoire / commands .
ExtScripts supprime automatiquement le symbole "_" , donc " _vClone script" sera affiché comme "vClone".

Snapshots (copy d'écran instantanée)
-------------
Avec cette extension, vous pouvez faire un instantané de la dernière fenêtre cliquée.
La résolution est fixe : 1600x1200
Clic Gauche - grille est visible
Faites un clic Droit - la grille est caché
Maj + Clic = résolution x 2
Ctrl + Maj + Clic = résolution x 3
Les Snapshots seront enregistrés dans le répertoire "snapshots" .

Il y a un petit bug avec le Snapshot, on n'a plus les icônes Pan Mvt Zoom...
il suffit de changer de langue et de revenir au bon fançais!

LightingPresets Eclairages prédéfinis (intégré maintenant dans le menu Options)
---------------------
Cet addon peut être utilisé uniquement avec le plugin d'options d'éclairage ( par Dinos ). Grand plug-in!
Merci Dinos!
(mettre les fichiers dézippés LightingOptions et .DS_Store dans le dossier ui (renommer l'ancien en LightingOptions_temp par exemple)

Utilisez les options d'éclairage du menu Option pour créer un éclairage prédéfini. Après cela, vous pouvez effectuer un préréglage à la volée en utilisant cet addon par l'icône ampoule du bas.
Photo
Ici une seule bibliothèque d'objet
Photo
Deux Bibliothèques d'Objets
Si vous vouliez rajouter une bouton personnel dans la Barre de Commande pour la Commande LineWeb par exemple.
Dessinez votre icône et sauvegardez l'image sous forme de texte en base64 grâce à ce site.
Créez un fichier "60 LineWeb.htm" dans le dossier customui avec ces 2 lignes!
<moi:Spacer/>
<moi:CommandButton icon="data:image/png;base64, ...ici le texte base64 de votre image..." command="LineWeb">LineWeb</moi:CommandButton>

Pour un Script il aurait fallu employer
onbuttonclick="contenu du script">texte de l'icône</moi:CommandButton>
Par exemple avec le script de Sélection Fermée script:/*Loop selection*/moi.geometryDatabase.selectLoop();
on aurait à la place de command="...
onbuttonclick="moi.geometryDatabase.selectLoop();">texte de l'icône</moi:CommandButton>

Ici l'icône a un fond blanc car l'image en PNG n'a pas été sauvegardée avec un fond transparent!
Photo
Icône personnalisée de la Commande LineWeb!
Une autre méthode car celle du dessus ne semble plus être valide! Avec la Commande Cercle par exemple!
Ces 4 lignes terminée par un ";". On récupère l'Icône dans le dossier icons...

​var html='<moi:Spacer/>';
var title = "Cercle";
html += '<moi:Spacer/><moi:CommandButton icon="moi://ui/icons/CircleSetIcon.png" Command="Circle"> '+title+' </moi:CommandButton>';
moi.ui.commandBar.CommandBarCustomUI.insertAdjacentHTML( "beforeEnd", html);


​ Les copier dans un éditeur de texte et sauvegarder sous Circle.js et le mettre dans
"C:\Users\user\AppData\Roaming\Moi\startup\Circle.js"
On pourra lui donner un N° d'ordre dans le nom du fichier pour le positionner dans la liste!
​60 circle.js par exemple
Photo
PS Et on peut aussi faire accepter tous les Scripts "une ligne" des raccourcis sous une seule icône!
Il suffit de faire un fichier "js" pour chacun avec n'importe quel éditeur de texte et de le sauvegarder dans le dossier commands!
C'est le nom de sauvegarde de ce fichier qui sera donc la commande du script!
Il sera lu et interprété comme tel par
les scripts de Max vus au-dessus et apparaitront donc dans la liste!
En faire un raccourci est donc facultatif!

Par exemple "Styles100Degrades.js" (pas d'accent pour éviter les conflits) contient ce texte:

script: /* Faire un dégradé de 100 teintes */ var red = 12, green = 15, blue = 20; for ( var i = 1; i <= 100; ++i ) { var style = moi.geometryDatabase.addStyle(); style.name = 'Gradient ' + i; style.color = ((red%256)<<16) | ((green%256)<<8) | (blue%256); red += 2; green += 3; blue += 7; }

Il apparaîtra dans la liste des commandes de Max Smirnov comme Styles100Degrades!

Une utilisation possible avec le Kitbash de Chipp Walters! :)
La palette complète! Les noms d'images et de fichiersdoivent exactement le même nom!
On peut mixer capitales et minuscules mais le nom doit être identique à la lettre près!
Nipple.png et Nipple.3dm marchera, NIPPLE.png & NiPPle.3dm ne marchera pas!
Photo