Ton bloc notes
Derniers sujets
» [ SKETCHUP vray ]
par Stef_mapoupou Aujourd'hui à 10:34
» [ SKETCHUP généralité ] Aide pour SKP 2017
par dealain Hier à 14:37
» [ ARCHICAD ] gardes corps et profils complexe ?
par Christophe Fortineau Hier à 12:10
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 12 Oct 2024 - 13:53
» [ ARTLANTIS ] Ca donne envie !
par Gaspard Hauser Jeu 10 Oct 2024 - 10:00
» [ TWINMOTION ] Unreal Engine déménage sur Fab - DataSmith & Archicad
par Coulou Jeu 10 Oct 2024 - 9:03
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par Coulou Mar 8 Oct 2024 - 11:53
» [ TWINMOTION ] Unreal Engine déménage sur Fab - Assets de Megascan
par JDD Lun 7 Oct 2024 - 21:52
» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Jeu 3 Oct 2024 - 14:58
» [ ARCHICAD ] Cotation d'ouverture sans hauteur
par Titou Jeu 3 Oct 2024 - 11:21
» [ ARCHICAD ] - Bardage à claire voie paramétrique
par Fred0079 Mer 2 Oct 2024 - 10:53
» [ SKETCHUP LIVE COMPONENT ] besoin de tuyaux sur les textures random
par simjoubert Lun 30 Sep 2024 - 0:45
» [ D5_RENDER ] Animation visualisation architecturale
par Gaspard Hauser Jeu 26 Sep 2024 - 16:49
» [ ARCHICAD ] Ajouter du lambris sur un mur
par Patrick Superpat Mer 25 Sep 2024 - 18:20
» [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte
par simjoubert Mer 25 Sep 2024 - 16:32
» [ ARCHICAD ] Extrémités de Poutres
par Coulou Mer 25 Sep 2024 - 9:54
» [ SKETCHUP LIVE COMPONENT ] chemin courbe défini dans sketchup
par simjoubert Ven 20 Sep 2024 - 20:07
» Bonjour à tous !
par tenrev Lun 16 Sep 2024 - 11:49
» Recherche un dessinateur pour mes produits
par tenrev Lun 16 Sep 2024 - 11:48
» [ SKETCHUP composants dynamiques ]
par simjoubert Dim 15 Sep 2024 - 9:37
» [ CHALLENGE 2024 ]Challenge architecture extérieure ou paysagiste - Nicolaco - Sketchup - Blender - Cycles (ABANDON)
par youyou40 Lun 9 Sep 2024 - 19:18
» Des vignettes à la place d'un export Graphique 2D !
par Gaspard Hauser Ven 6 Sep 2024 - 0:01
» [ MATOS INFORM. ] Application Splashtop Wired XDisplay, pour utliser votre tablette iPad ou Android en moniteur supplémentaire
par JDD Jeu 5 Sep 2024 - 10:49
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par JDD Mer 4 Sep 2024 - 18:03
» [ SKETCHUP généralité ]
par lionel Claude Mar 3 Sep 2024 - 19:45
» [ D5_RENDER ] Comparatif D5 enhancement vs Krea AI enhancement
par Gaspard Hauser Dim 1 Sep 2024 - 19:40
» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par Gaspard Hauser Dim 1 Sep 2024 - 12:34
» [ D5_RENDER ] Animation d'objets, Phasing animation D5 render
par AK40Cess Sam 31 Aoû 2024 - 10:33
» [ TWINMOTION ] Appliquer un decal avec les outils spacing et area de Twinmotion 2024
par AK40Cess Ven 30 Aoû 2024 - 4:00
» [ SKETCHUP généralité ]
par Gaspard Hauser Dim 25 Aoû 2024 - 8:58
» [ SKETCHUP plugins ]
par furax49 Ven 23 Aoû 2024 - 15:54
» [ SKETCHUP généralité ] SOS problème avec les arêtes
par vick Jeu 22 Aoû 2024 - 19:15
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par Gaspard Hauser Jeu 22 Aoû 2024 - 12:10
» [ D5_RENDER ] Images de l'intérieur meublé de de la villa Bauhaus
par Gaspard Hauser Sam 17 Aoû 2024 - 19:24
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - Simjoubert - sketchup Enscape
par simjoubert Sam 17 Aoû 2024 - 15:32
par Stef_mapoupou Aujourd'hui à 10:34
» [ SKETCHUP généralité ] Aide pour SKP 2017
par dealain Hier à 14:37
» [ ARCHICAD ] gardes corps et profils complexe ?
par Christophe Fortineau Hier à 12:10
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 12 Oct 2024 - 13:53
» [ ARTLANTIS ] Ca donne envie !
par Gaspard Hauser Jeu 10 Oct 2024 - 10:00
» [ TWINMOTION ] Unreal Engine déménage sur Fab - DataSmith & Archicad
par Coulou Jeu 10 Oct 2024 - 9:03
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par Coulou Mar 8 Oct 2024 - 11:53
» [ TWINMOTION ] Unreal Engine déménage sur Fab - Assets de Megascan
par JDD Lun 7 Oct 2024 - 21:52
» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Jeu 3 Oct 2024 - 14:58
» [ ARCHICAD ] Cotation d'ouverture sans hauteur
par Titou Jeu 3 Oct 2024 - 11:21
» [ ARCHICAD ] - Bardage à claire voie paramétrique
par Fred0079 Mer 2 Oct 2024 - 10:53
» [ SKETCHUP LIVE COMPONENT ] besoin de tuyaux sur les textures random
par simjoubert Lun 30 Sep 2024 - 0:45
» [ D5_RENDER ] Animation visualisation architecturale
par Gaspard Hauser Jeu 26 Sep 2024 - 16:49
» [ ARCHICAD ] Ajouter du lambris sur un mur
par Patrick Superpat Mer 25 Sep 2024 - 18:20
» [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte
par simjoubert Mer 25 Sep 2024 - 16:32
» [ ARCHICAD ] Extrémités de Poutres
par Coulou Mer 25 Sep 2024 - 9:54
» [ SKETCHUP LIVE COMPONENT ] chemin courbe défini dans sketchup
par simjoubert Ven 20 Sep 2024 - 20:07
» Bonjour à tous !
par tenrev Lun 16 Sep 2024 - 11:49
» Recherche un dessinateur pour mes produits
par tenrev Lun 16 Sep 2024 - 11:48
» [ SKETCHUP composants dynamiques ]
par simjoubert Dim 15 Sep 2024 - 9:37
» [ CHALLENGE 2024 ]Challenge architecture extérieure ou paysagiste - Nicolaco - Sketchup - Blender - Cycles (ABANDON)
par youyou40 Lun 9 Sep 2024 - 19:18
» Des vignettes à la place d'un export Graphique 2D !
par Gaspard Hauser Ven 6 Sep 2024 - 0:01
» [ MATOS INFORM. ] Application Splashtop Wired XDisplay, pour utliser votre tablette iPad ou Android en moniteur supplémentaire
par JDD Jeu 5 Sep 2024 - 10:49
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par JDD Mer 4 Sep 2024 - 18:03
» [ SKETCHUP généralité ]
par lionel Claude Mar 3 Sep 2024 - 19:45
» [ D5_RENDER ] Comparatif D5 enhancement vs Krea AI enhancement
par Gaspard Hauser Dim 1 Sep 2024 - 19:40
» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par Gaspard Hauser Dim 1 Sep 2024 - 12:34
» [ D5_RENDER ] Animation d'objets, Phasing animation D5 render
par AK40Cess Sam 31 Aoû 2024 - 10:33
» [ TWINMOTION ] Appliquer un decal avec les outils spacing et area de Twinmotion 2024
par AK40Cess Ven 30 Aoû 2024 - 4:00
» [ SKETCHUP généralité ]
par Gaspard Hauser Dim 25 Aoû 2024 - 8:58
» [ SKETCHUP plugins ]
par furax49 Ven 23 Aoû 2024 - 15:54
» [ SKETCHUP généralité ] SOS problème avec les arêtes
par vick Jeu 22 Aoû 2024 - 19:15
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par Gaspard Hauser Jeu 22 Aoû 2024 - 12:10
» [ D5_RENDER ] Images de l'intérieur meublé de de la villa Bauhaus
par Gaspard Hauser Sam 17 Aoû 2024 - 19:24
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - Simjoubert - sketchup Enscape
par simjoubert Sam 17 Aoû 2024 - 15:32
formulaire/diaporama
chaine sketchup.tv
Serveur Discord
[ SKETCHUP plugins ] sj_AddDCFunctions
Page 1 sur 13 • Partagez
Page 1 sur 13 • 1, 2, 3 ... 11, 12, 13
Dernière version sj Add DC Functions 0.9.10 MAJ du 10/11/2022 | |
Lien de téléchargement : sj-add-dc-functions |
- Afficher la liste des fonctions :
DÉSINSTALLER L'ANCIENNE VERSION AU PRÉALABLE
- Code:
### NOTES VERSIONS:
V.9.10 2022/11/10
Ajout de plusieurs nouvelles fonctions :
Dans la catégorie Définition :
GetPersistentId() Récupère l'identifiant persistant de l'instance.
GetAttribute_FromPersistentId("id", "Nom de l'attribut recherché", "Valeur par défaut si l'attribut n'est pas trouvé")
Dans la catégorie Array :
ARRAY_RANDOM_FROM_STRING("texte","caractère de séparation","Nom de l'attribut créer par la fonction") Retourne un liste triée de manière aléatoire.
ARRAY_SORT_RANDOM("nom de l'attribut array") Retourne le meme array trié de manière aléatoire.
Nouvelle Catégorie Suite Mathématique :
Suite_Fibonacci("index") retourne la valeur de l'index dans la suite de Suite_Fibonacci
Suite_Sum("index") retourne la somme de tout les entiers positifs entre 0 et le numéro de l'index
Suite_Factorial("index") Retourne le factoriel de l'index n!
Suite_Custom("index","fonction_f","f0") Fonction qui permet de trouver le résultat d'une fonction mathématique personnalisable, qui implique dans sa résolution le résultat de la même fonction pour l'entier précédent.
Corrections :
Fonction ARRAY FROM STRING
v.9.9 2022/10/04
Correction de la fonction Aire prend en compte la transformation de l'instance.
L'ancienne version renvoyait la surface des faces de la définition, sans prendre en compte une mise à l'échelle de l'instance.
Nouvelle fonction ProfilBuilder.
Elle retourne la longueur d'extrusion du profil réalisée avec le plugin ProfilBuilder.
Vous paramétrez le nom de l'unité et le nombre de décimale.
Nouvelle fonction SetMaterialFacePlane.
Permet d'appliquer une matière sur la face avant et une autre sur la face arrière, de toutes les faces coplanaires au plan passées en paramètres.
Très pratique pour modélisé une planche de menuiserie pour respecter le fil du bois, et le contre-fil, ou simuler des plaquages.
v.9.8 2022/02/01
Ajout de traduction dans les retours de formules ou les messages d'erreurs. Il en reste encore quelques-unes à apporter
Ajout de fonctions dans la famille Définition :
OPTIONS_FROM_CSV(chemin, séparateur, attribut cible)
Créer une liste d'options pour l'attribut cible à partir des valeurs contenues dans le fichier CSV.
SWITCH_ACCESS_ATTRIBUT(condition, attribut cible, access true, access false)
Change l'affichage de l'attribut dans le panneau option des composants ( aucun, lecture seule, saisie, liste option)
SWITCH_ACCESS_ATTRIBUTE_BEGIN(condition, texte de recherche des noms d'attribut commençant par, access true, access false)
Change l'affichage des attributs qui commence par le texte recherché, dans le panneau option des composants ( aucun, lecture seule, saisie, liste option)
SWITCH_ACCESS_ATTRIBUTE_MULTI(condition , "attribut cible, access true, access false" { , "attribut cible, access true, access false", ...})
Change l'affichage de plusieurs attributs dans le panneau option des composants ( aucun, lecture seule, saisie, liste option)
Ajout de fonctions dans la famille Array
ARRAY_FROM_CSV (chemin, separateur, attribut cible)
Crée un attribut au format array depuis un fichier csv. Le tableau peut avoir plusieurs colonnes
GRID_ARRAY(nombre colonnes, nombre rangées, préfixe)
Permet de rapidement construire une grille de sous composant
Créer 2 arrays avec le numéro de colonnes et de rangées pour chaque copy et l'attribut nombre de copies
Modification dans la famille Array
ARRAY_VALUE(array,index{,index2})
La fonction permet de saisir un troisième paramètre pour les tableaux à plusieurs colonnes.
Le premier index indique le numéro de la ligne en commençant à 0 et le second indique le numéro de la colonne en commençant par 0.
v.9.7 2022/01/22
Ajoute la famille de fonction Array/tableau
ARRAY(name,valeurs séparées par des virgules) créer 1 attribut array au format array avec la liste des valeurs passées en paramètre.
ARRAY_LENGTH(Array_name) retourne la longueur du tableau (nombre de valeurs)
ARRAY_VALUE(Array_name, Numero_index) retourne la valeur correspondant à l'index.
ARRAY_SUM (Array_name, Numéro_index) retourne la somme cumulée jusqua l'inex inclus.
DONNUT_ARRAY (rayon_interne, rayon_externe, angle, prefix, chemin) retourne 3 attributs array correspondant aux coordonnées X, Y et de rotation Z. Et un attribut nombre de copies.
Les attributs créés décrivent les coordonnées pour chaque copie d'un tronçon de donut.
Le chemin est représenté par une liste de 1 ou -1 séparés par des virgules. Indiquant le sens du tronçon courbe vers la droite ou vers la gauche.
v.9.6 2021/12/17
Un énorme travail de restructuration du code a été opéré par Samuel Tallet pour faciliter la maintenance du code et de sa traduction.
Mille mercis Samuel !
Harmonisation du plugin dans la collection SJ_DC_TOOLS (sj_add_dc_functions, sj_add_attribute, sj_redraw_dc_collection)
Fusion des menus SimJoubert qui se dupliquaient en SimJoubert Tools.
Fusion de la barre d'outil avec les autre plugins de la collection
L'ensemble du plugin est traduit automatiquement selon la langue de Sketchup
Fichier langue dispo Anglais, Français
Le clic sur le bouton sélectionne la fonction avec sa liste et les copie dans le presse-papier.
V.9.5 2021/11/23
Le code Ruby a été morcelé en plusieurs fichiers. Un fichier par famille de fonctions.
Ajout d'une barre outil et d'une entrée de menu. permet d'afficher la liste des fonctions et leur détails.
La liste de l'aide est affichable en français et en anglais en cliquant sur le drapeau. Merci JDD pour la traduction Anglaise et la correction orthographique.
Le clic sur le bouton sélectionne la fonction avec sa liste d'attribut il faut faire ensuite un copier-coller.
Ajout d'une fonction pour créer un sous composant texte dynamique avec son lot d'attributs (police, hauteur, gras extrusion...)
Create3dText("Nom du sous composant qui sera créer", "Texte à modéliser")
Bug Connu si le composant a subi une rotation de 90 sur son axe X les géométries disparaissent.
Ajout de la fonction complémentaire pour éditer le texte créer avec la fonction de Create3dText
Edit3dText("Texte", "Symbole retour de ligne" "Alignement", "Font", "Bold", "italic", "Hauteur", "tolérance arrondi courbe", "z décallage surface", "Remplissage", "hauteur extrusion", "Lock actualisation")
Bug connu il faut après l'édition faire un clic droit réinitialiser l'échelle
Ajout de fonctions pour paramétrer la visibilité des arrêtes et des faces non groupées à l'intérieur du composant.
Ajout de fonctions pour paramétrer la matières des arrêtes et des faces non groupées à l'intérieur du composant.
V.9.4 2021/11/08
Ajout de la fonction pour réaliser l'opération booléenne de 2 sous-entités solides
GetBooleanChildren("lock","operator","name result","name volume 1","name volume 2","work on copy volume1","work on copy volume2")
lock = 1 réalise l'opération sinon la gèle
operator : union,substract ou intersect
name result : nom appliqué au group résultat
name volume 1 ou 2 : Nom du groupe ou nom de la définition du composant
work on copy = 1 l'opération sera réalisé sur une copie du volume source et il est ensuite masqué, sinon l'opération booleenne le detruit au profit du résultat.
V.9.3 2021/11/03
Ajout des fonctions pour paramétrer les sources lumineuses Enscape
SetEnscapePointLight(Radius,Luminosity)
SetEnscapeSpotLight(Radius,Luminosity)
SetEnscapeLinearLight(Length,Luminosity)
SetEnscapeRectangularLight(Width,Length,Luminosity)
SetEnscapeDiskLight(Radius,Luminosity)
Ajout de la fonction SetMaterialKelvin(KelvinTemperature)
Elle applique et crée une matière selon la température Kelvin d'une source lumineuse
Algorithme de conversion Kelevin vers RGB trouvé sur le site https://tannerhelland.com/2012/09/18/convert-temperature-rgb-algorithm-code.html
Ajout de la fonction SetRotationOffset("Axe,"Angle","Verrou","Level","Offset")
Permet de faire une rotation d'un composant de niveau 0,1,ou 2 selon le point d'origine du composant de niveau 0,1 ou 2.
Le niveau d'offset ne peut pas être supérieur au Level cible
Ajout de la fonction SetNameDefinition("name")
Elle permet de renommer la définition du composant et de le rendre unique
V0.9.2 2021/10/28
Ajout de la fonction SetRotation("Axe,"Angle","Verrou","Level")
Permet d'opérer une rotation selon l'origine du composant de niveau 0,1 ou 2 à savoir self, parent, grand parent.
Ajout de la fonction SetAttributRotation()
permet de créer rapidement des attribut de controle de la rotation
V0.9.1 2021/06/22
Corrige la fonction OCCURRENCE il manquait un "R"
Ajout de fonction SetLayer("Nom du Calque/Balise") pour appliquer un calque au composant.
Ajout de la fonction SetMaterial("Nom de la matière") pour appliquer une matière au composant si le paramètre est vide retour la valeur par défaut, contrairement à l'attribut Material.
### FIN NOTES DE VERSIONS
Bonjour à tous !
Je vous présente mon nouveau plugin sj_AddDCFunctions en version v.0.9.0
Il ajoute de nouvelles fonctions de calcul dans les formules des composants dynamiques !
Avant d'aller plus loin, sachez que les composants dynamiques sont un code propriétaire de Trimble et se dernier n'a pas de documentations publiées et peut être modifié dans les versions suivantes sans préavis ! j'ai testé et fonctionne sur SU 2020 et SU 2021.1 !
j'ai upgradé le code que TIG avait publié sur Sketchucation https://sketchucation.com/forums/viewtopic.php?f=289&t=51443
j'ai ajouté les fonctions de calcul suivantes :
VOLUME : renvoi le volume réél du composant
AIRE : renvoi l'aire de toutes les surfaces du composant
CHILDRENSUMATTRIBUT : renvoi la somme des valeurs d'un attribut des composants ou groupes enfants
CHILDRENSUMSIATTRIBUT : renvoi la somme des valeurs d'un attribut des composants ou groupes enfants si la condition est vrai
PARENTATTRIBUT : renvoi la valeur ou le chemin de l'attribut du composant parent
OCCURENCE : renvoi le nombre d'occurences d'un caractère dans un texte
Rentrons dans les détails :
=VOLUME("unité","valeur si non solide",arrondi")
Les unités possibles sont (pc3,m3,dm3,cm3,mm3,dam3,hm3,km3,l,dl,cl) insensible à la case !
Valeurs si non solide : si le composant est non solide, permet de renvoyer une valeur de votre choix, cela peut-être numérique ou un texte d'alerte
Arrondi : si vous omettez le paramètre la valeur sera brute, sinon définissez un nombre entier positif de chiffres après la virgule (0~99)
Exemples :
- Code:
=VOLUME("m3",0,2)
=VOLUME("cm3","!!! ATTENTION LE COMPOSANT N'EST PAS SOLIDE !!!")
=AIRE("unité","arrondi")
Les unités possibles sont (pc2,m2,dm2,cm2,mm2,dam2,hm2,km2,ha,a)
Arrondi : si vous omettez le paramètre la valeur sera brute, sinon définissez un nombre entier positif de chiffres après la virgule (0~99)
Exemples :
- Code:
=AIRE("cm2",2)
=AIRE("m2")
=CHILDRENSUMATTRIBUT("Attribut")
Le nom de l'attribut dans un composant enfant. si aucune correspondance renvoi 0, le nom de l'attribut est insensible à la case !
les valeurs de l'attribut doivent être des nombres
Exemple
- Code:
=CHILDRENSUMATTRIBUT("Volume")
=CHILDRENSUMSIATTRIBUT("Attribut à sommer","Attribut conditionnel","Opérateur de comparaison","valeur de comparaison")
Attribut à sommer : Le nom de l'attribut dans un composant enfant. si aucune correspondance renvoi 0, le nom de l'attribut est insensible à la case !
les valeurs de l'attribut doivent être des nombres
Attribut conditionnel : le nom de l'attribut dans un composant enfant si aucune correspondance la condition sera false et la valeur non additionnée.
Opérateur de comparaison valeur attendue "e" pour égal, "i" pour inférieur, "ie" pour inférieur ou égal, "s"pour supérieur, "se" pour supérieur ou égal et "d" pour différent.
valeur de comparaison un nombre ou un texte uniquement avec les opérateur "e" ou "d"
Exemples :
- Code:
=CHILDRENSUMSIATTRIBUT("Volume","Volume","se",2.5)
- Code:
=CHILDRENSUMSIATTRIBUT("Volume","Actif","e",1)
=PARENTATTRIBUT("Attribut","mode retour")
Renvoi soit la valeur de l'attribut parent si le mode est "value"
Renvoi le chemin pour insérer dans une formule si le mode est "path"
Exemples :
- Code:
=PARENTATTRIBUT("MonAttribut","path")
="NomAttributParent!MonAttribut"
- Code:
=PARRENTATTRIBUT("hello","value")
="world"
C'est pratique pour ne pas écrire en dur dans les formules l'adresse du parent. on peut ainsi déplacer ou copier le composant dans un autre parent et les formules fonctionneront toujours! dans le fichier su joint le sous composant box à ses formules OnClick qui les utilisent ! pas les autres copier par exemple le cylindre et cela déclenchera une erreur !
exemple
le nom du composant parent = "Papa" et possède un attribut Actualiser = 1
on souhaite faire varier par un click sur son enfant la valeur entre 0 ou 1
formule sur l'attribut OnClick de l'enfant
- Code:
SET(PARENTATTRIBUT("Actualiser","path"),ABS(PARENTATTRIBUT("Actualiser","value")-1)
=>0
=OCCURENCE("texte","Caractères à recherchés")
si aucune occurrences n'est trouvées renvoi 0 contrairement à la fonction native Find qui déclenche une erreur.
Si le paramètres caractères à recherchés comporte plusieurs caractères c'est individuellement qu'i sont recherché et non en chaine
exemples :
- Code:
=OCCURENCE("banane","a")
=2
- Code:
=OCCURENCE("banane","an")
=4
- Code:
=OCCURENCE("banane","z")
=0
J'attends vos retour et si vous pensez à d'autre fonctions utiles manquantes !
Simon
Dernière édition par simjoubert le Jeu 10 Nov 2022 - 16:53, édité 18 fois
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Fab, Romtar et Coulou aiment ce message
bravo Simon pour ce nouveau plugin c'est top
ce n'est pas certain que j'ai utilité de ces fonctions supplémentaires, mais félicitations à toi pour ce nouveau développement
en tout cas je télécharge et j'installe
a+
ce n'est pas certain que j'ai utilité de ces fonctions supplémentaires, mais félicitations à toi pour ce nouveau développement
en tout cas je télécharge et j'installe
a+
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
- Couloumodérateur
- Humeur : Plus piquante que jamais
Date d'inscription : 29/06/2010
Nombre de messages : 9090
Points : 14145
Localisation : Luxembourg
Emploi : Dessinateur
Moi c'est sur je n'en aurais jamais besoin, mais comme Jack, un grand merci à toi Simon pour ton activité et ton implication sur ce fofotenrev a écrit:ce n'est pas certain que j'ai utilité de ces fonctions supplémentaires
-------------------------------------------------------------------------------------------------------------------------
iMac 27' 2019 / MacOS 12.6 Monterey / Radeon Pro 575X 4 Go / 3,6 GHz Intel Core i9 / 32Go RAM / (non c'est moi qui est copié sur Chapi)
Moi aussi j'étais aventurier autrefois, et puis, j'ai pris une flèche dans le genou.
Hello Jack !tenrev a écrit:bravo Simon pour ce nouveau plugin c'est top
ce n'est pas certain que j'ai utilité de ces fonctions supplémentaires, mais félicitations à toi pour ce nouveau développement
en tout cas je télécharge et j'installe
a+
Il y a bien l'aire qui te sera utile pour tes bibliothèque et ou le volume.
et j'en suis sur la fonction CHILDRENSUMSIATTRIBUT la somme conditionnelle d'attribut enfant en une seul formule sans déployer 15 attributs avec des conditions à rallonge si tu ajoutes un enfant la formule fonctionne encore
si tu as un attribut prix par étagère et par montant
tu fais CHILDRENSUMATTRIBUT("prix") et tu as le sous-total de toutes ta bibliothèque, si tu ajoutes un enfant la formule fonctionne encore !
Et puis tu as surement pesté car il te manquait une brique de formule dans un calcule, dis moi laquelle voir si j'arrive à la créer.
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Coulou a écrit:Moi c'est sur je n'en aurais jamais besoin, mais comme Jack, un grand merci à toi Simon pour ton activité et ton implication sur ce fofotenrev a écrit:ce n'est pas certain que j'ai utilité de ces fonctions supplémentaires
Merci Coulou !
C'est couillon que tu ne deviennes pas sketchupper !
SI MOU Simon.... je sors
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Coulou aime ce message
Hello
Oui je pense que je trouverai certainement une utilisation à tes fonctions mon cher Simon
Et oui si il me vient en tête une fonction manquante avec plaisir d'échanger avec toi
à plus
Oui je pense que je trouverai certainement une utilisation à tes fonctions mon cher Simon
Et oui si il me vient en tête une fonction manquante avec plaisir d'échanger avec toi
à plus
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
Hello Mise à jour avec la version v.0.9.1de sj_AddDCFunctions
Quoi de neuf ?
Corrige le nom de la fonction occurrence il manquait un "R"
Ajoute les fonctions suivantes :
SETLAYER
permet de définir le calque/balise du composant par une formule
format :
le calque/balise est créé s'il n'existe pas et renvoi le nom du calque et place le composant sur le calque
si le nom du calque est omis place le composant sur le calque Layer0 ou sans balise selon la version et retourne "Layer0 - Sans balise"
SETMATERIAL
Permet d'appliquer un matériaux au composant, l'avantage par rapport à l'attribut natif material c'est que si le paramètre est vide c'est la couleur par défaut qui est appliquée !
format :
vue formule
vue résultat
Quoi de neuf ?
Corrige le nom de la fonction occurrence il manquait un "R"
Ajoute les fonctions suivantes :
SETLAYER
permet de définir le calque/balise du composant par une formule
format :
- Code:
=SETLAYER("Nom du calque")
le calque/balise est créé s'il n'existe pas et renvoi le nom du calque et place le composant sur le calque
si le nom du calque est omis place le composant sur le calque Layer0 ou sans balise selon la version et retourne "Layer0 - Sans balise"
SETMATERIAL
Permet d'appliquer un matériaux au composant, l'avantage par rapport à l'attribut natif material c'est que si le paramètre est vide c'est la couleur par défaut qui est appliquée !
format :
- Code:
=SETMATERIAL("nom de la matière")
vue formule
vue résultat
- Fichiers joints
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
hello Simon
@simjoubert tu as bien fait de faire une piqure de rappel , du coup je suis revenu sur ce post et j'ai enfin installé la dernière version
c'est top pour la fonction des calques , ça va me simplifier grandement la vie sur certains composants , merci à toi
par contre , je n'ai aps encore tester , mais pour l'utilisateur , j'imagine qu'il doit avoir le plugin installer sur son pc pour que ça fonctionne pour lui également ?
si c'est le cas j'image que tu me donnes l'autorisation de l'ajouter à ma barre de composants ?
a+
@simjoubert tu as bien fait de faire une piqure de rappel , du coup je suis revenu sur ce post et j'ai enfin installé la dernière version
c'est top pour la fonction des calques , ça va me simplifier grandement la vie sur certains composants , merci à toi
par contre , je n'ai aps encore tester , mais pour l'utilisateur , j'imagine qu'il doit avoir le plugin installer sur son pc pour que ça fonctionne pour lui également ?
si c'est le cas j'image que tu me donnes l'autorisation de l'ajouter à ma barre de composants ?
a+
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
Bonjour Mister Jack !
Bien content que tu y trouve de l’intérêt !
Tu peux partager c'est fait pour !
Mise en garde : Il s'agit d'une version Bêta non encore testée par un grand nombre d'utilisateur et sur différentes plateformes. Chez moi çà marche!
J'ai pas encore regarder le mode de partage d'un plugin sur des canaux officiels J'aimerai bien que @Samuel Tallet me face un petit briefing.
Avec SETLAYER :Une bibliothèque sur le calque Salle 1 ... Étagère grand format... étagère petit Format...
Avec CHIDRENSUMATTRIBUT dénombrer le nombre de livres, le nombre de portes livre...Surfaces de rangement
Chacun devrait y trouver son compte.
D'ailleurs si vous avez des besoin de fonctions supplémentaires, je peux toujours essayer !
Bien content que tu y trouve de l’intérêt !
Tu peux partager c'est fait pour !
Mise en garde : Il s'agit d'une version Bêta non encore testée par un grand nombre d'utilisateur et sur différentes plateformes. Chez moi çà marche!
J'ai pas encore regarder le mode de partage d'un plugin sur des canaux officiels J'aimerai bien que @Samuel Tallet me face un petit briefing.
Avec SETLAYER :Une bibliothèque sur le calque Salle 1 ... Étagère grand format... étagère petit Format...
Avec CHIDRENSUMATTRIBUT dénombrer le nombre de livres, le nombre de portes livre...Surfaces de rangement
Chacun devrait y trouver son compte.
D'ailleurs si vous avez des besoin de fonctions supplémentaires, je peux toujours essayer !
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
tenrev aime ce message
si je partage mon composant , il y a une erreur chez les utilisateurs
pour moi pas de problème, les composants avec lesquels j'utiliserai ton plugin sont sous forme d'une barre faite comme un plugin , donc j'ajoute dans mon rbz ton plugin et tout sera installé en toute transparence pour mes collaborateurs et partenaires
merci Simon a+
pour moi pas de problème, les composants avec lesquels j'utiliserai ton plugin sont sous forme d'une barre faite comme un plugin , donc j'ajoute dans mon rbz ton plugin et tout sera installé en toute transparence pour mes collaborateurs et partenaires
merci Simon a+
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
Ajoute dans la description du composant une alerte pour informer que les calculs ne peuvent fonctionner qu'avec le plugin d'installé ! Car ils peuvent par derrière le partager à d'autre donc il faut que cela soit inscrit dans le composant concerné.
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
tenrev aime ce message
J'ai envoyé un e-mail a sketchucation pour publier le plugin !
J'attends les commentaires des grands manitous !
A suivre ...
J'attends les commentaires des grands manitous !
A suivre ...
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
simjoubert a écrit: Ajoute dans la description du composant une alerte pour informer que les calculs ne peuvent fonctionner qu'avec le plugin d'installé ! Car ils peuvent par derrière le partager à d'autre donc il faut que cela soit inscrit dans le composant concerné.
oui effectivement
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
Hello
Je viens d’ajouter une nouvelle fonction :
SetRotation ("Axe" , "Angle" , "Verrou", "Level")
Cette fonction permet de faire une rotation de composant de level 0,1 ou 2 selon l'origine du Level selon l'axe du level et sur un angle en degrés.
La rotation sur des niveau supérieur ne nécessite pas de créer des attributs de liaison.
Le gros avantage de cette fonction par rapport à la méthode classique utilisant les attributs RotX...RotZ
C'est que la rotation garde la transformation active du composant comme base de départ !
Si le composant avait déjà subit des rotation cette nouvelle rotation intervient en incrément et non en substitution.
Très utile si on a des flèches de rotation pour ajuster un objet dans un modèle.
exemple : modélisation d'une canalisation avec des coudes des tés de jonction. On positionne correctement l'origine et ensuite on opère les rotations selon l'origine et non la boîte englobante !
Vous vous faites un composant avec les 6 flèches de rotation avec des valeurs d'angle paramétriques et ensuite vous le placer dans n'importe quel composant et c'est fonctionnel !
One More Thing ! :
SetAttributRotation() ajoute un jeu de 5 attribut pour paramétrer la rotation
Il convient pour l'utiliser de l'invoquer depuis un attribut nommé "rot_ini"
Lien de téléchargement : sj_AddDCFunctions_v9.0.2.zip
Je viens d’ajouter une nouvelle fonction :
SetRotation ("Axe" , "Angle" , "Verrou", "Level")
Cette fonction permet de faire une rotation de composant de level 0,1 ou 2 selon l'origine du Level selon l'axe du level et sur un angle en degrés.
- Level = 0 c'est le composant qui subit la rotation
- Level = 1 c'est le parent du composant qui est la victime
- Level = 2 c'est le grand parent
- Axe peut prendre les valeur x,y ou z
- Angle la valeur peut être positive ou négative exprimée en degrés
- Verrou = 1 active la rotation selon les paramètres, sinon ne la réalise pas et renvoi "Rotation Verrouillée"
La rotation sur des niveau supérieur ne nécessite pas de créer des attributs de liaison.
Le gros avantage de cette fonction par rapport à la méthode classique utilisant les attributs RotX...RotZ
C'est que la rotation garde la transformation active du composant comme base de départ !
Si le composant avait déjà subit des rotation cette nouvelle rotation intervient en incrément et non en substitution.
Très utile si on a des flèches de rotation pour ajuster un objet dans un modèle.
exemple : modélisation d'une canalisation avec des coudes des tés de jonction. On positionne correctement l'origine et ensuite on opère les rotations selon l'origine et non la boîte englobante !
Vous vous faites un composant avec les 6 flèches de rotation avec des valeurs d'angle paramétriques et ensuite vous le placer dans n'importe quel composant et c'est fonctionnel !
One More Thing ! :
SetAttributRotation() ajoute un jeu de 5 attribut pour paramétrer la rotation
Il convient pour l'utiliser de l'invoquer depuis un attribut nommé "rot_ini"
- rot_affichage pour afficher ou masquer les flèches de rotation
- rot_mode pour verrouillé la rotation
- rot_x_angle pour définir l'angle de rotation sur l'axe des x valeur 1,5,15,45,90,180
- rot_y_angle ...
[rot_z_angle .. - La formule dans rot_ini est supprimé pour le rendre inerte et renvoi "Attribut créés" il peut être supprimé !
Lien de téléchargement : sj_AddDCFunctions_v9.0.2.zip
Dernière édition par simjoubert le Jeu 28 Oct 2021 - 13:34, édité 1 fois
tenrev aime ce message
salut Simon
nickel , je prend , je télécharge , merci mon ami
nickel , je prend , je télécharge , merci mon ami
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
simjoubert a écrit:Lien de téléchargement : sj_AddDCFunctions_v9.0.2.zip
j'ai régulièrement des difficultés pour télécharger tes liens ? peut être du au fait que tu es en http et que normalement le forum n'accepte que les https , du coup j'ai corrigé et mis un s et je peux télécharger en cliquant le lien
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
Chez moi il ouvre forcement en https je vais modifier celui du 1er post
je cherche pour la prochaine fois à faire la même fonction mais avec un offset par rapport à l'origine du composant. bientôt.
Le code est bien commenté en français pour apprentissage
je cherche pour la prochaine fois à faire la même fonction mais avec un offset par rapport à l'origine du composant. bientôt.
Le code est bien commenté en français pour apprentissage
simjoubert a écrit:Chez moi il ouvre forcement en https je vais modifier celui du 1er post
je cherche pour la prochaine fois à faire la même fonction mais avec un offset par rapport à l'origine du composant. bientôt.
Le code est bien commenté en français pour apprentissage
ha c'est intéressant , cool , merci à toi
pour le code pas trop le temps en ce moment , mais j'essaierai de regarder ton code un de ces jours
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
C'est déjà un grand pas et il supprime beaucoup d'attributs de liaisons transgénérationnelles
et en étant tout aussi rapide d’exécution. il n'y pas de latence entre le clic et la rotation.
et en étant tout aussi rapide d’exécution. il n'y pas de latence entre le clic et la rotation.
tenrev aime ce message
- JDDV.I.P.
- Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1124
Points : 2466
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
Bonsoir,
@simjoubert
Je découvre ce fil et ce plugin que j'ai zappé sans raison.
Ton plugin semble très intéressant et prometteur, bravo pour ce développement.
Je vais essayer de m'y pencher dessus dès que possible, bien que je n'ai pas d'utilités en tête précises pour le moment.
Juste une remarque : j'ai jeté rapidement un œil sur tes codes. Bien que n'étant pas un grand spécialiste, il me semble que tu interviens sur la classe DCFunctionsV1 du plugin Dynamic Components, propriété de Trimble.
Pas certains que les développeurs de Trimble acceptent cela, car modifier cette classe n'en fait plus la version V1?
Ont ils validé ton extension ?
JDD
@simjoubert
Je découvre ce fil et ce plugin que j'ai zappé sans raison.
Ton plugin semble très intéressant et prometteur, bravo pour ce développement.
Je vais essayer de m'y pencher dessus dès que possible, bien que je n'ai pas d'utilités en tête précises pour le moment.
Juste une remarque : j'ai jeté rapidement un œil sur tes codes. Bien que n'étant pas un grand spécialiste, il me semble que tu interviens sur la classe DCFunctionsV1 du plugin Dynamic Components, propriété de Trimble.
Pas certains que les développeurs de Trimble acceptent cela, car modifier cette classe n'en fait plus la version V1?
Ont ils validé ton extension ?
JDD
Bonjour JDD
comme je le disait en préambule de ce post :
J'ai rien demandé à Trimble, leur code n'est pas public, par contre mon code est public et ouvert à tous
analysons les première lignes de code :
Mes lignes indiquent bien la nécessité du code de DC pour fonctionner, l'attribut "protected" indique que la class est protégée au sens Ruby (elle ne peut être appelée que de l’intérieur! donc une fois en marche )
Je ne la modifie pas car mon code interroge d'abord sur l' existence d'une fonction à l'intérieur ( il n'y a pas de listing publié) et la définit si elle n'existe pas.
Je ne modifie pas leur code j'implémente sous réserve que cela n'existe pas !
Et puis honte à eux! class en version 1 depuis plus de 15 ans sans amélioration, sans nouveauté ! Je paye ma licence donc j'ai le droit d’interroger la class DCFunction V1 !
Donc Non, je ne bafoue pas les droits d'auteur ! J'ai fais une demande de publication sur Sketchucation mais pas sur Trimble, Et je n'ai toujours pas de réponse à ce jour, mais cela est très récent !
Donc dans un premier temps à la lumière de ces explications et de mes intensions non commerciales à ce sujet! je vous demande de prévenir dans les composants qui utilisent ses fonctions, d'ajouter dans leur description le texte suivant :
Ce composant utilise des fonctions de calculs, qui requiert l’installation du plugin sj_AddDcFunctions, pour fonctionner.
Fichier en téléchargement libre et gratuit https://www.biblio3d.com/t13906-sketchup-plugins-sj_adddcfunctions#166733
Et je serai ravi que Trimble les ajoute à son code masqué dans une V2 Open source !
Cela est dit !
comme je le disait en préambule de ce post :
"Avant d'aller plus loin, sachez que les composants dynamiques sont un code propriétaire de Trimble et se dernier n'a pas de documentations publiées et peut être modifié dans les versions suivantes sans préavis ! j'ai testé et fonctionne sur SU 2020 et SU 2021.1 !
j'ai upgradé le code que TIG avait publié sur Sketchucation https://sketchucation.com/forums/viewtopic.php?f=289&t=51443"
J'ai rien demandé à Trimble, leur code n'est pas public, par contre mon code est public et ouvert à tous
analysons les première lignes de code :
- Code:
# add_DC_function.rb
# extends DCs functions
require('sketchup')
require('su_dynamiccomponents.rb')
if defined?($dc_observers)
# Open SketchUp's Dynamic Component Functions (V1) class.
# BUT only if DC extension is active...
class DCFunctionsV1
protected
#calule du volume du composant
# format attendu VOLUME(unité, arrondi)
# DC Function Usage: =volume(unité, valeur si composant non solide, arrondi) ou =volume(unité, valeur si composant non solide)
if not DCFunctionsV1.method_defined?(:volume)
def volume(a)
Mes lignes indiquent bien la nécessité du code de DC pour fonctionner, l'attribut "protected" indique que la class est protégée au sens Ruby (elle ne peut être appelée que de l’intérieur! donc une fois en marche )
Je ne la modifie pas car mon code interroge d'abord sur l' existence d'une fonction à l'intérieur ( il n'y a pas de listing publié) et la définit si elle n'existe pas.
Je ne modifie pas leur code j'implémente sous réserve que cela n'existe pas !
Et puis honte à eux! class en version 1 depuis plus de 15 ans sans amélioration, sans nouveauté ! Je paye ma licence donc j'ai le droit d’interroger la class DCFunction V1 !
"Dites moi Class DCFunction V1 ! Auriez vous en votre sein la fonction Toto ? Je me permettrai de la proposer si elle n'existe pas ! et Je rajouterai même par politesse un " Merci !"
Donc Non, je ne bafoue pas les droits d'auteur ! J'ai fais une demande de publication sur Sketchucation mais pas sur Trimble, Et je n'ai toujours pas de réponse à ce jour, mais cela est très récent !
Donc dans un premier temps à la lumière de ces explications et de mes intensions non commerciales à ce sujet! je vous demande de prévenir dans les composants qui utilisent ses fonctions, d'ajouter dans leur description le texte suivant :
Ce composant utilise des fonctions de calculs, qui requiert l’installation du plugin sj_AddDcFunctions, pour fonctionner.
Fichier en téléchargement libre et gratuit https://www.biblio3d.com/t13906-sketchup-plugins-sj_adddcfunctions#166733
Et je serai ravi que Trimble les ajoute à son code masqué dans une V2 Open source !
Cela est dit !
tenrev aime ce message
@JDD pas de souci, la question devait être posée et une réponse apportée !
Ravi que tu y trouve de l’intérêt.
Ravi que tu y trouve de l’intérêt.
JDD aime ce message
hello les amis
pour ma part , je prend le parti de n'inclure pour l'instant ces fonctions que dans des composants que je diffuse avec une barre de plugin du coup : dans le rbz, j'inclus le plugin de notre ami Simon de la même façon que j'inclus déjà le plugin de curic DCUI (qui me sert à personnaliser l'utilisation de composants dynamiques)
pour ma part , je prend le parti de n'inclure pour l'instant ces fonctions que dans des composants que je diffuse avec une barre de plugin du coup : dans le rbz, j'inclus le plugin de notre ami Simon de la même façon que j'inclus déjà le plugin de curic DCUI (qui me sert à personnaliser l'utilisation de composants dynamiques)
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
- JDDV.I.P.
- Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1124
Points : 2466
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
Bonjour @simjoubert ,
Merci pour tes explications (je n'avais pas bien lu ou j'ai du zapper ton préambule et ta référence que pourtant je connaissais)
Il n'y avait aucune intention de ma part, dans mon post, de faire de la polémique, c'était une simple interrogation de ma part et je suis en accord avec tes commentaires.
TIG dans ce fil sur SketchUcation https://sketchucation.com/forums/viewtopic.php?f=180&t=67235 est également totalement en phase avec ton argumentation.
Mais coté Trimble c'est pas vu ainsi, voir le commentaire de Dan Rathbun dans ce même topic.
TIG avait également en 2011, évoqué dans ce fil sur SketchUcation cette façon de faire pour l'ajout de fonctions https://sketchucation.com/forums/viewtopic.php?f=180&t=37083 et également dans ce fil https://sketchucation.com/forums/viewtopic.php?f=10&t=21474 pour l'ajout de la fonction trigonométrique arctangente à 2 arguments, absente dans les fonctions trigo du plugin DC.
De nouveau, Bravo pour ce développement très prometteur.
JDD
Merci pour tes explications (je n'avais pas bien lu ou j'ai du zapper ton préambule et ta référence que pourtant je connaissais)
Il n'y avait aucune intention de ma part, dans mon post, de faire de la polémique, c'était une simple interrogation de ma part et je suis en accord avec tes commentaires.
TIG dans ce fil sur SketchUcation https://sketchucation.com/forums/viewtopic.php?f=180&t=67235 est également totalement en phase avec ton argumentation.
Mais coté Trimble c'est pas vu ainsi, voir le commentaire de Dan Rathbun dans ce même topic.
TIG avait également en 2011, évoqué dans ce fil sur SketchUcation cette façon de faire pour l'ajout de fonctions https://sketchucation.com/forums/viewtopic.php?f=180&t=37083 et également dans ce fil https://sketchucation.com/forums/viewtopic.php?f=10&t=21474 pour l'ajout de la fonction trigonométrique arctangente à 2 arguments, absente dans les fonctions trigo du plugin DC.
De nouveau, Bravo pour ce développement très prometteur.
JDD
simjoubert aime ce message
De toutes façons les brevets logiciels ne sont pas éternels et ont une durée de vie de plus ou moins 20 ans ! Il est même peut-être expiré !
page wikipedia
*
page wikipedia
*
- Afficher l'iframe:
- Contenu sponsorisé
Page 1 sur 13 • 1, 2, 3 ... 11, 12, 13
Sujets similaires
» [ SKETCHUP plugins ] Oob plugins - Plugins top pour le bâtiment réalisés par un français
» [ SKETCHUP plugins ] tutos en plusieurs parties sur la généralité des plugins sketchup
» [ SKETCHUP plugins ] Black friday -30 % à - 50% sur des plugins sketchup
» [ SKETCHUP plugins ] les plugins sketchup que vous utilisez
» [ SKETCHUP plugins ] Certains Plugins de Fredo vont devenir payants!
» [ SKETCHUP plugins ] tutos en plusieurs parties sur la généralité des plugins sketchup
» [ SKETCHUP plugins ] Black friday -30 % à - 50% sur des plugins sketchup
» [ SKETCHUP plugins ] les plugins sketchup que vous utilisez
» [ SKETCHUP plugins ] Certains Plugins de Fredo vont devenir payants!
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 13
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum