Aller au contenu

Rotation de N Blocs en fonction d une Valeur d Attribut


lecrabe

Messages recommandés

Hello

 

J ai cherche dans mes 3001 routines et A PRIORI je n ai pas en stock !

 

Donc si qq'un a la routine, SVP je suis preneur !

 

---- Description de la routine ----

 

1) Question "Nom de l Attribut ? (Defaut = ROTATION) "

2) Selection AutoCAD classique ...

3) Ne retenir que les Blocs Statiques OU Dynamiques

4) On boucle sur TOUS les Blocs

5) Si Attribut ROTATION present !

6) ALORS Changement de la rotation du Bloc concerne

en fonction de la valeur numerique de l attribut

( si valeur DEBILE alors ZERO ! Tant pis !! )

( La valeur peut etre en degres ou grades )

( SVP Programmer comme si c etait en DEGRES ! )

Si Grade je pourrais modifier la ligne de Lisp concernee ...

7) On boucle sur le (4) ...

8) A la fin si possible: signaler le nombre de blocs traites !

 

Je peux le faire par une requete de MAP/CIVIL !

Mais tout le monde n'a pas MAP/CIVIL !!

 

Merci d'avance, LA SANTE, Bye, lecrabe

... Deja 1 mois de retraite ...

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 62
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Coucou,

 

Juste une précision, lorsque tu demandes

3) Ne retenir que les Blocs Statiques OU Dynamiques
cela signifie-t-il que le programme ne doit boucler que sur des blocs statiques ou bien que sur les blocs dynamiques en fonction d'un choix utilisateur ou bien c'est uniquement pour dire que l'ensemble des références de blocs doivent être prises en compte (dynamique et statique pris en compte ensemble) ?

 

Autrement, je pourrais te fournir une solution dans la journée :3

 

Bisous,

Luna

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Cela signifie que la routine doit traiter l attribut VOULU (si present bien sur !)

sur TOUS les Blocs selectionnes ! ... qu ils soient statiques ou dynamiques ...

 

En fait il s agit de modifier le assoc 50 (= Rotation du Bloc en Radian)

en fonction de la valeur de l attribut choisi ...

 

MERCI d'avance, LA SANTE, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

 

Cela te convient-il ?

(defun c:ATTROT (/ ang-conv remove-double jsel i e name tag rot n lst)

	; Supprime les doublons au sein d'une liste spécifiée en argument :
;--- La fonction (Remove-Double) possède 1 argument
;--- lst1 correspond à la liste devant être évaluée pour la suppression des doublons

;--- Renvoie la liste modifiée sans ses doublons
(defun Remove-Double (lst1 / lst2)

	(while (car lst1)
		(setq Lst2 (cons (car lst1) lst2)
		      Lst1 (vl-remove (car lst1) lst1)
		)
	)
	(reverse lst2)

)

	; Permet de convertir les unités angulaires :
;--- La fonction (ang-conv) possède 3 arguments
;--- a correspond à l'angle que l'on souhaite convertir
;--- from correspond à l'unité angulaire de départ
;	0 - Degree
;	3 - Radian
;	2 - Grade
;--- to correspond à l'unité angulaire d'arrivée
;	0 - Degree
;	3 - Radian
;	2 - Grade

;--- Renvoie l'angle converti sous format numérique
(defun ang-conv (a from to /)

	(cond
		((and (= from 0) (= to 0))
			(/ (* a 180.0) 180.0)
		)
		((and (= from 0) (= to 3))
			(/ (* a pi) 180.0)
		)
		((and (= from 0) (= to 2))
			(/ (* a 200.0) 180.0)
		)
		((and (= from 3) (= to 0))
			(/ (* a 180.0) pi)
		)
		((and (= from 3) (= to 3))
			(/ (* a pi) pi)
		)
		((and (= from 3) (= to 2))
			(/ (* a 200.0) pi)
		)
		((and (= from 2) (= to 0))
			(/ (* a 180.0) 200.0)
		)
		((and (= from 2) (= to 3))
			(/ (* a pi) 200.0)
		)
		((and (= from 2) (= to 2))
			(/ (* a 200.0) 200.0)
		)
	)

)

(if (or (setq jsel (ssget '((0 . "INSERT"))))      ; si pré-sélection ou sélection manuelle
               (setq jsel (ssget "_X" '((0 . "INSERT")))) ; si pas de sélection manuelle, alors prise en compte de la totalité des blocs
           )
	(progn
		(setq n 0
		      i (sslength jsel)
		      e i
		)
		(if (= (setq tag (getstring "Veuillez spécifier le nom d'attribut pour la rotation <\"ROTATION\"> : ")) "")
			(setq tag "ROTATION")
		)
		(repeat i
			(setq name (ssname jsel (setq i (1- i))))
			(if (and (null (vl-catch-all-error-p (setq rot (vl-catch-all-apply 'getpropertyvalue (list name tag)))))
				 (setq rot (ang-conv (atof rot) (getvar "AUNITS") 3))
				 (entmod (subst (cons 50 rot) (assoc 50 (entget name)) (entget name)))
			    )
				(setq n (1+ n)
				      lst (cons (getpropertyvalue name "BlockTableRecord/Name") lst)
				)
				(ssdel name jsel)
			)
		)
		(sssetfirst nil jsel)
		(foreach name (setq lst (vl-sort (remove-double lst) '<))
			(command "_ATTSYNC" "N" name)
		)
		(setq lst (apply 'strcat (mapcar '(lambda (str) (strcat "\n  - " str)) lst)))
		(alert (strcat "\nUn total de "
				(itoa n)
				" / "
				(itoa e)
				" bloc(s) ont été redéfinis."
				"\nVoici la liste des blocs ayant un attribut nommé \""
				tag
			       "\" : "
				lst
			)
		)
		(prompt (strcat "\nUn total de "
				(itoa n)
				" / "
				(itoa e)
				" bloc(s) ont été redéfinis."
				"\nVoici la liste des blocs ayant un attribut nommé \""
				tag
			       "\" : "
				lst
			)
		)					
	)
	(prompt (strcat "\nAucun bloc présent dans ce fichier..."))
)
(princ)

)

 

Bisous, Luna

Modifié par lecrabe
Lien vers le commentaire
Partager sur d’autres sites

Hello Luna

 

MERCI cela semble Tip-Top !

 

OK sur Blocs classiques ... A tester sur Blocs dynamiques !? ... MAIS j ai confiance !!

 

Que La Sante, Le Bonheur, La Volupte, La Prosperite, etc, te submergent !!

 

LA SANTE, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

 

Petite mise à jour par rapport à ton point n°1, ce qui permet de prendre en compte la pré-sélection et la sélection manuelle (en cas de sélection vide pour la pré-sélection ou la sélection manuelle, l'effectue sur l'ensemble des blocs du dessin).

Après s'il faut supprimer le (ssget "_X") c'est tout à fait possible aussi.

Normalement, il ne devrait pas y avoir de soucis pour les blocs dynamiques puisqu'on ne s'intéresse qu'à leur attribut donc il n'y a pas de filtre statique/dynamique.

 

Faudra juste faire attention à la version de l'AutoCAD en raison de la fonction (getpropertyvalue) qui a été ajoutée assez récemment :3

 

Bisous, Luna

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

En fait j avais deja supprime le "_X" sur le ssget !

 

Sinon SVP ces 2 lignes nouvelles/modifiees >>>

(if (or (setq jsel (ssget '((0 . "INSERT")))) ; si pré-sélection ou sélection manuelle

(setq jsel (ssget "_X" '((0 . "INSERT")))) ; si pas de sélection manuelle, alors prise en compte de la totalité des blocs

 

(getpropertyvalue) & (setpropertyvalue) ont ete ajoutes a la version 2012 (Pour la version Mac en fait !)

 

ENCORE MERCI, LA SANTE, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

En fait j avais deja supprime le "_X" sur le ssget !

 

Sinon SVP ces 2 lignes nouvelles/modifiees >>>

(if (or (setq jsel (ssget '((0 . "INSERT")))) ; si pré-sélection ou sélection manuelle

(setq jsel (ssget "_X" '((0 . "INSERT")))) ; si pas de sélection manuelle, alors prise en compte de la totalité des blocs

<<< sont elles bien les 2 SEULES Modifs que tu as faites ??

 

(getpropertyvalue) & (setpropertyvalue) ont ete ajoutes a la version 2012 (Pour la version Mac en fait !)

 

ENCORE MERCI, LA SANTE, Bye, lecrabe

Vouih je n'ai rien modifié d'autre :3

 

Bisous, Luna

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Hello Luna

 

Encore MERCI pour ta routine precedente !

 

SVP serait il possible d avoir la MEME routine

pour forcer la couleur des blocs en fonction du contenu d un attribut !

 

Si Valeur = ZERO (ou mauvaise valeur alpha) ---> ZERO : DuBloc

1-255 --> Forcer avec la couleur 1-255

Si >= 256 --> 256 : DuCalque

 

Donc modifier le code DXF 62 (Me semble t-il) ... ou en VLisp : vla-put-color ...

 

MERCI d'avance, LA SANTE, Bye, lecrabe

... Deja 49 jours de retraite ...

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Coucou !

 

Vouih pas de soucis :3

(defun c:ATTCOL (/ remove-double jsel i e name tag color n lst)

               ; Supprime les doublons au sein d'une liste spécifiée en argument :
       ;--- La fonction (Remove-Double) possède 1 argument
       ;--- lst1 correspond à la liste devant être évaluée pour la suppression des doublons

       ;--- Renvoie la liste modifiée sans ses doublons
       (defun Remove-Double (lst1 / lst2)

               (while (car lst1)
                       (setq Lst2 (cons (car lst1) lst2)
                             Lst1 (vl-remove (car lst1) lst1)
                       )
               )
               (reverse lst2)

       )

       (if (or (setq jsel (ssget '((0 . "INSERT"))))      ; si pré-sélection ou sélection manuelle
               (setq jsel (ssget "_X" '((0 . "INSERT")))) ; si pas de sélection manuelle, alors prise en compte de la totalité des blocs
           )
               (progn
                       (setq n 0
                             i (sslength jsel)
                             e i
                       )
                       (if (= (setq tag (getstring "Veuillez spécifier le nom d'attribut pour la couleur <\"COLOR\"> : ")) "")
                               (setq tag "COLOR")
                       )
                       (repeat i
                               (setq name (ssname jsel (setq i (1- i))))
                               (if (and (null (vl-catch-all-error-p (setq color (vl-catch-all-apply 'getpropertyvalue (list name tag)))))
                                        (cond
				 	((assoc 62 (entget name))
						(entmod (subst (cons 62 (atoi color)) (assoc 62 (entget name)) (entget name)))
					)
					((not (assoc 62 (entget name)))
						(entmod (append (entget name) (list (cons 62 (atoi color)))))
					)
				)
                                   )
                                       (setq n (1+ n)
                                             lst (cons (getpropertyvalue name "BlockTableRecord/Name") lst)
                                       )
                                       (ssdel name jsel)
                               )
                       )
                       (sssetfirst nil jsel)
                       (setq lst (apply 'strcat (mapcar '(lambda (str) (strcat "\n  - " str)) (vl-sort (remove-double lst) '<))))
                       (alert (strcat "\nUn total de "
                                       (itoa n)
                                       " / "
                                       (itoa e)
                                       " bloc(s) ont été redéfinis."
                                       "\nVoici la liste des blocs ayant un attribut nommé \""
                                       tag
                                      "\" : "
                                       lst
                               )
                       )
                       (prompt (strcat "\nUn total de "
                                       (itoa n)
                                       " / "
                                       (itoa e)
                                       " bloc(s) ont été redéfinis."
                                       "\nVoici la liste des blocs ayant un attribut nommé \""
                                       tag
                                      "\" : "
                                       lst
                               )
                       )                                       
               )
               (prompt (strcat "\nAucun bloc présent dans ce fichier..."))
       )
       (princ)

)

 

Non testé en revanche...

Et je ne sais pas si tu possèdes un attribut particulier pour cette information (= nom d'étiquette par défaut ?) donc j'ai pris "COLOR" par défaut. Et j'ai supposé que la valeur présente dans l'attribut correspond aux valeurs comprises entre 0-256 comme précisé.

 

Bisous,

Luna

Modifié par Luna
Lien vers le commentaire
Partager sur d’autres sites

Hello

 

SNIFF ca ne marche pas !

 

Commande: ATTCOULBLOC

Sélectionner des objets: Spécifiez le coin opposé: 3 trouvé(s)

Sélectionner des objets:

Veuillez specifier le nom d'attribut pour la couleur : TAMPON_Z

; erreur: type d'argument incorrect: fixnump: "1"

Commande:

 

LA SANTE, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Bonjour,

Je n'arrive pas à utiliser la fonction ang-conv pouvez-vous me dire comment faire.

 

J'ai une petite question qui va dans la fonction de ce Lisp

 

Je souhaiterai de manière automatique pouvoir faire les modifications suivantes (voir image jointe):

 

la valeur ECHELLE_X = 0,366 issu d’un bloc (1) alimente la valeur Echelle X = 1,00 (1’)

 

la valeur ECHELLE_Y = 0,366 issu d’un bloc (1) alimente la valeur Echelle Y = 1,00 (1’)

 

la valeur TYPE = 200 (2) issu d’un bloc alimente la valeur Rotation = 146,0740g (2’)

 

Pensez-vous pouvoir m'aider.

 

Merci d'avance

post-76585-0-42289300-1614683717_thumb.jpg

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

 

Premièrement merci ! Tu as posé ton problème de manière claire et concise avec toutes les infos nécessaires du premier coup, chat fait plaisir :3

 

Ensuite pour ton problème on peut revoir légèrement le code de ATTROT comme ci-dessous :

(defun c:ATTSCL (/ ang-conv remove-double jsel i e name tag rot n lst)

               ; Supprime les doublons au sein d'une liste spécifiée en argument :
       ;--- La fonction (Remove-Double) possède 1 argument
       ;--- lst1 correspond à la liste devant être évaluée pour la suppression des doublons

       ;--- Renvoie la liste modifiée sans ses doublons
       (defun Remove-Double (lst1 / lst2)

               (while (car lst1)
                       (setq Lst2 (cons (car lst1) lst2)
                             Lst1 (vl-remove (car lst1) lst1)
                       )
               )
               (reverse lst2)

       )

               ; Permet de convertir les unités angulaires :
       ;--- La fonction (ang-conv) possède 3 arguments
       ;--- a correspond à l'angle que l'on souhaite convertir
       ;--- from correspond à l'unité angulaire de départ
       ;       0 - Degree
       ;       3 - Radian
       ;       2 - Grade
       ;--- to correspond à l'unité angulaire d'arrivée
       ;       0 - Degree
       ;       3 - Radian
       ;       2 - Grade

       ;--- Renvoie l'angle converti sous format numérique
       (defun ang-conv (a from to /)

               (cond
                       ((and (= from 0) (= to 0))
                               (/ (* a 180.0) 180.0)
                       )
                       ((and (= from 0) (= to 3))
                               (/ (* a pi) 180.0)
                       )
                       ((and (= from 0) (= to 2))
                               (/ (* a 200.0) 180.0)
                       )
                       ((and (= from 3) (= to 0))
                               (/ (* a 180.0) pi)
                       )
                       ((and (= from 3) (= to 3))
                               (/ (* a pi) pi)
                       )
                       ((and (= from 3) (= to 2))
                               (/ (* a 200.0) pi)
                       )
                       ((and (= from 2) (= to 0))
                               (/ (* a 180.0) 200.0)
                       )
                       ((and (= from 2) (= to 3))
                               (/ (* a pi) 200.0)
                       )
                       ((and (= from 2) (= to 2))
                               (/ (* a 200.0) 200.0)
                       )
               )

       )

       (if (or (setq jsel (ssget '((0 . "INSERT"))))      ; si pré-sélection ou sélection manuelle
               (setq jsel (ssget "_X" '((0 . "INSERT")))) ; si pas de sélection manuelle, alors prise en compte de la totalité des blocs
           )
               (progn
                       (setq n 0
                             i (sslength jsel)
                             e i
                       )
                       (setq tag '(("ECHELLE_X" 41) ("ECHELLE_Y" 42) ("TYPE" 50)))
                       (repeat i
                               (setq name (ssname jsel (setq i (1- i))))
			(mapcar
				'(lambda (x / v)
	                                (if (and (null (vl-catch-all-error-p (setq v (vl-catch-all-apply 'getpropertyvalue (list name (car x))))))
						 (if (= (cadr x) 50) (setq v (ang-conv (atof v) (getvar "AUNITS") 3)) (setq v (atof v)))
	                                         (entmod (subst (cons (cadr x) v) (assoc (cadr x) (entget name)) (entget name)))
	                                    )
	                                        (setq n (1+ n)
	                                              lst (cons (getpropertyvalue name "BlockTableRecord/Name") lst)
	                                        )
	                                        (ssdel name jsel)
	                                )
				)
				tag
			)
                       )
                       (sssetfirst nil jsel)
                       (foreach name (setq lst (vl-sort (remove-double lst) '<))
                               (command "_ATTSYNC" "N" name)
                       )
                       (setq lst (apply 'strcat (mapcar '(lambda (str) (strcat "\n  - " str)) lst)))
                       (alert (strcat "\nUn total de "
                                       (itoa n)
                                       " / "
                                       (itoa e)
                                       " bloc(s) ont été redéfinis."
                                       "\nVoici la liste des blocs ayant les attributs nommés \""
                                       (vl-string-right-trim "\", \"" (apply 'strcat (mapcar '(lambda (x) (strcat x "\", \"")) tag)))
                                      "\" : "
                                       lst
                               )
                       )
                       (prompt (strcat "\nUn total de "
                                       (itoa n)
                                       " / "
                                       (itoa e)
                                       " bloc(s) ont été redéfinis."
                                       "\nVoici la liste des blocs ayant les attributs nommés \""
                                       (vl-string-right-trim "\", \"" (apply 'strcat (mapcar '(lambda (x) (strcat x "\", \"")) tag)))
                                      "\" : "
                                       lst
                               )
                       )                                       
               )
               (prompt (strcat "\nAucun bloc présent dans ce fichier..."))
       )
       (princ)

)

 

Je ne l'ai pas testé, je te laisse essayer avec tes blocs et revient vers moi en cas de soucis !

 

Bisous,

Luna

Modifié par Luna
Lien vers le commentaire
Partager sur d’autres sites

Hello MASB

 

Au fait quand le Lisp de "Luna" sera OK pour toi, SVP tu le publieras sur le site original de ta demande : georezo.net/forum - Forum Autodesk_SIG

 

En reponse a ton sujet : https://georezo.net/forum/viewtopic.php?pid=340675

 

Ainsi le sujet sera "clos / resolu" : Merci d'avance ...

 

La Sante, Bye, lecrabe "fatigue"

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ton aide,

 

je viens d'essayer le lisp que tu as créé mais je n'ai pas réussi (cf image jointe) à récupérer les valeurs de 0.427 issu de ECHELLE_X et ECHELLE_Y respectivement dans echelle_x et echelle_y.

Je n'ai pas réussi à récupérer la valeur de 97 dans rotation valeur à 100

 

Quant à ang-conv je n'ai pas le message qui permet de choisir l'unité de départ en grade et l'unité d'arrivée en grade, en fait je souhaite récupérer exactement la même valeur.

post-76585-0-52319000-1614691760_thumb.png

Lien vers le commentaire
Partager sur d’autres sites

Vouih décidément je me suis levée du pied gauche ce matin >w<

Il manquait une conversion (atof) de la valeur de l'attribut vers une valeur numérique.

 

Si le nom de tes étiquettes correspond bien (j'ai testé cette fois-ci) cela devrait fonctionner. J'ai re-modifié le code ci-dessus.

 

Bisous,

Luna

Lien vers le commentaire
Partager sur d’autres sites

Coucou pat,

 

Vouih absolument ! Je n'ai pas vraiment pensé à mettre un gestionnaire d'erreur si un réseau parvient à se glisser dans la sélection lorsque je récupère le nom de la définition de bloc mais bon...un réseau ne possède pas d'attribut donc il se fait éjecter de la sélection illico presto xD

Mais comme je n'applique aucun filtre sur le nom du bloc en question, les blocs standards et dynamiques sont pris en comptes (et les réseaux aussi du coup) et après les attributs sont atteignables de la même manière dynamique ou pas. Au final je ne récupère le nom du bloc que pour le message de fin qui liste le nom des blocs ayant été modifiés, c'est de la broderie essentiellement ^^

 

Mais au vu de la demande sur le passage d'une information contenu dans les attributs d'un bloc pour modifier une propriété du bloc en question, je vais essayer de me pencher sur la question pour générer une BdD un peu jolie et pouvoir faire mumuse avec pour implémenter les valeurs d'attributs dans une propriété des blocs sélectionner en prenant en compte toutes les propriétés modifiables :3

 

Le concept devrait aller vite mais la gestion des données pour éviter les soucis va être amusante ! Bref cela m'évitera de créer une commande ATT... pour chaque propriété et nom d'attribut de chacun... la généralisation c'est plus efficace !

 

Bisous,

Luna

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

YES j imagine une routine un peu plus generique !

 

Soit la presence eventuelle des attributs :

POS_X (ou X) , POS_Y (ou Y) ,

Eventuellement POS_Z (ou ELEVATION ou Z) ,

ECHELLE (pour les 3 facteurs XYZ)

ou ECHELLE_X , ECHELLE_Y , ECHELLE_Z

pour modifier l echelle pour chaque facteur

Eventuellement ROTATION

 

Ainsi on modifierait les proprietes d'Insertion des Blocs classiques et dynamiques

Et CE surtout sous Excel par ATTOUT / ATTIN

Puis execution de ta FUTURE routine ...

 

En ayant pour les Blocs dynamiques la version amelioree par Bryce de ATTIN / ATTOUT ...

 

Vois tu ce que je veux dire ?

 

Neanmoins attention aux Blocs avec facteur d'echelle UNIFORME ou NON !

Voir ce sujet : https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/modify-scale-of-all-types-of-block-inserts-uniformscale/td-p/10123885

ET surtout le message de Kent1Cooper !

 

La Sante, Bye, lecrabe "fatigue"

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Et bien justement j'ai été étonné mais j'avais eu un soucis à la création d'un bloc (la case de l'échelle uniforme s'est cochée toute seule >n<) et j'ai juste fait un (entmod) sur l'insertion du bloc en question et je pouvais tout à fait forcer les valeurs en X, Y, Z de manière indépendante via la liste DXF donc même si depuis la palette des propriétés on ne peut pas, la liste DXF ne l'interdit absolument pas donc tant mieux !!

 

Alors du coup j'ai déjà vu passer les routines ATTIN / ATTOUT mais sans vraiment regarder de plus près...Le principe consiste je présume de récupérer des valeurs depuis un fichier Excel / CSV avec une correspondance du genre (nom attribut . valeur) ?

Pour le coup, j'avais en tête d'écrire un programme relativement basique et qui fait confiance à l'utilisateur (parce que c'est difficile de contrôler si la valeur de l'attribut ROTATION est en grade ou en degrés donc la seule solution c'est de supposer que le format des unités est le même entre le format défini dans le dessin et celui renseigné dans l'attribut) qui nécessite de sélectionner un bloc de référence. Depuis une boîte de dialogue qui aura la liste des attributs du blocs, on aura une liste déroulante pour chaque attribut afin de l'affecter à une propriété (et des radio-button pour désactiver les attributs sans relation avec les propriétés), une fois qu'on a bien tout paramétrer, on lance le programme soit sur la pré-sélection, soit une sélection manuelle, soit toutes les occurrences du bloc (dans le même espace) et je filtre pour le faire fonctionner sur blocs standards et dynamiques

 

Comme cela, le programme s'adaptera à n'importe quel nom de bloc, au nombre d'attribut et leur nom ainsi que leur relation avec les propriétés :3

La seule question que je ne maîtrise pas encore c'est si je dois conserver les paramètres définis dans la boîte de dialogue dans le cas où on sélectionne le même bloc pour ne pas avoir à re-paramétrer les liaisons attributs/propriétés mais bon, je verrais cela à la fin ^^

 

Chat sera sûrement utile je pense au vu des demandes sur le sujet xD

 

Bisous,

Luna

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant



×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité