Aller au contenu

Messages recommandés

Posté(e)

Autocad 2021 full

 

Bonjour, 

Je dessine avec plusieurs scu sur mon dessin. Et il m'arrive souvent d'avoir Ă  changer de scu pour dessiner.

Sauf que changer de scu en cliquant sous le viewcube, c'est long et je n'aime pas. 😒

 

Est-ce possible de faire cela avec une fonction que je pourrais activer avec un alias?

Avec par exemple un alias pour chaque fonction, chacune étant afférente à un scu bien particulier.

 

Merci de vos retours,

 

RĂ©mi

Posté(e)

Salut,

Tu parles de SCU (systÚme de coordonnées) ou de vues ? Parce que le ViewCube, comme son nom l'indique, c'est pour changer de vue.

Pour changer de vue (orthogonales et iso), tu peux utiliser le LISP vues_pavé sur cette page.

Gilles Chanteau - gileCAD - GitHub
DĂ©veloppements sur mesure pour AutoCAD

Posté(e)

Bonjour,

Perso, j'ai personnalisé mon ruban avec la liste déroulante prévu en natif dans Autocad.
y8tr.jpg

Son petit nom "ContrÎle de liste déroulante SCU nommé"

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Hello - https://gilecad.azurewebsites.net/Lisp.aspx

Vues_pavé : Les vues prédéfinies avec le pavé numérique
commandes : 0 (Bas), 1 (Isométrie sud Ouest), 2 (Avant), 3 (Isométrie sud Est), 4 (Gauche), 5 (Haut), 6 (Droite), 7 (Isométrie Nord Ouest), 8 (ArriÚre), 9 ( Isométrie Nord Est)

Cela devrait se nommer "Le Pave Gilles" !

La Sante, Bye, lecrabe (triste & fatigue)

 

Autodesk Expert Elite Team

Posté(e)

Bonjour, 

Merci pour vos retours rapides et efficaces.

 

Je parle bien du SCU !

Le lisp de Gile est gĂ©nial, existe-t-il pour les SCU? 😀

Avec par exemple une liste de SCU prédéfinie dans le lisp.

 

RĂ©mi

Posté(e)

Yes j'ai regardé, c'est pas mal la liste déroulante en personnalisation du ruban !

 

Par contre je ne sais qu'utiliser les lisp, pas les créer, et vba je ne sais l'implémenter que sur Excel.

 Et clairement niveau timing, là je n'ai pas le temps de regarder ^^

Posté(e)

ben tu veux faire quoi en faite ?

Car si tu veux toujours les meme SCU sur certains de tes dessins c'est la solution LA LOZERE via un gabarit

Si tes scu sont toujours différents c'est donc manuel...

donc ?

PS :

Quote

vba je ne sais l'implémenter que sur Excel.

La tu te trompe !

Si tu fais du VBA excel tu sais potentiellement faire du VBA sur autocad !

La seul difference c'est qu'au lieu d'avoir des plages : tu auras des objets avec des propriétés !

d'ailleurs une plage est un objet... et tu agit sur des propriétés : value... interior.color ... etc... ben autocad c'est pareil mais c'est plus des plages c'est tout ^^

 

Posté(e)

Je veux en effet avoir diffĂ©rents scu, dont le nom est bien connu, qui seront les mĂȘmes dans plusieurs fichiers, mais je souhaite changer de scu au clavier, pas Ă  la souris.

 

Oui je pense bien avoir une base vba et avoir la possibilitĂ© de passer sans trop de difficultĂ©s sur AutoCAD, mais lĂ  je suis sur un rush de projet et je n'ai pas le temps de regarder ça avant 2 mois 😕

Posté(e)

Je doute que tu puisses avoir plus rapide que 2 clics pour changer de SCU Ă  ta guise perso'...
Tu peux accéder à cette liste déroulante à de nombreux endroits de ton espace de travail :

  1. Au-dessous du ViewCube
  2. Depuis le ruban comme l'a montré La LozÚre
  3. Depuis un raccourci de commande situé dans la barre d'outils "SCU II"
  4. Si tu ne veux pas utiliser la souris, alors je suppose qu'une simple macro de la commande SCU fera l'affaire

Je peux te proposer ceci au besoin pour t'Ă©pargner l'Ă©criture du nom du SCU pour le remplacer par un nombre en fonction de sa position dans la liste des SCU :

(defun c:QSCU (/ lst i n)

	(defun SymbolTable->list (name / tbl lst)

		(if (not
			(vl-catch-all-error-p
				(setq tbl
					(vl-catch-all-apply
						'tblnext
						(list name T)
					)
				)
			)
		    )
			(while tbl
				(setq lst (cons (cdr (assoc 2 tbl)) lst)
				      tbl (tblnext name)
				)
			)
		)
		lst

	)

	(initget 5 "?")
	(setq lst (SymbolTable->list "UCS"))
	(while (/= (type (setq i (getint "\nChoose the UCS number [?] : "))) 'INT)
		(setq n 0)
		(prompt	(strcat	"\nUCS list : "
				(apply 'strcat (mapcar '(lambda (u) (strcat "\n" (itoa (setq n (1+ n))) ". " u)) lst))
			)
		)
	)
	(cond
		((= 0 i)
			(command "_UCS" "")
		)
		
		((<= i (length lst))
			(command "_UCS" "_Name" "_Restore" (nth (1- i) lst))
		)
	)
	(princ)

)

Donc en terme de retour c'est relativement simple :

Quote

Commande: QSCU
Choose the UCS number [?] : ?
UCS list :
1. Centrale PV
Choose the UCS number [?] : 1

Bisous,
Luna

Posté(e)

De fait le clic est assez rapide, mais j'ai une souris avec des boutons personnalisables et je peux ainsi activer des commandes en un clic de souris, ce qui bat tous les records de vitesse. 😉

 

Ton lisp est trÚs intéressant Luna.

 

Je suppose qu'il doit pouvoir faire ce que je cherche, mais je ne saurai le modifier pour... Quelle partie de ton code permet de définir le scu courant?

 

Ce que je cherche :

Dans mes plans j'ai deux scu, intitulés "Gauche", et le SCG. Je souhaite avoir deux lisps, chacun ayant son propre alias clavier (ou raccourci clavier, peu importe car je peux paramétrer ma souris pour les deux) et correspondant, l'un au scu "Gauche" et l'autre au scg.

 

J'ai donc juste besoin, dans le lisp (ou macro), de définir le nom du scu qui doit devenir courant en activant la commande correspondante.

 

Posté(e)

Bonjour,

 

tu as des changements de vue ?

Pour ma part je navigue entre le scu général et le scu vue en tapant simplement "SG" ou "SV" et ça me suffit.

Il est aussi possible d'écrire un bout de code qui te changera automatiquement dans le scu nommé "Gauche" automatiquement comme l'exemple précédant en forçant un nom de scu fixe.

 

Amicalement.

Posté(e)

Mon programme permet simplement de ne pas utiliser la souris pour choisir le SCU. En supposant que tu as une liste de SCU comme ceci :

  1. Gauche
  2. Droite
  3. Test
  4. SCU1
  5. SCU2

Si tu connais par coeur ta liste de SCU alors tu peux directement saisir QSCU suivi de 1 (= Gauche) ou 2 (= Droite), etc ou 0 (= SCG). Autrement dit tu as 2 saisies clavier (1 pour lancer la commande QSCU, 1 autre pour choisir le SCU Ă  activer). Ce programme rĂ©pond en parti Ă  ton soucis mais permet d'ĂȘtre plus "gĂ©nĂ©raliste" sur son utilisation.

Pour ton cas trÚs précis, une simple macro suffit (je ne suis pas douée en macro) car c'est une simple utilisation de commande avec une donnée précise... En lisp on peut faire chat, mais il n'y a pas de vérification sur l'existence d'un soit-disant SCU nommé "Gauche" (ou "Droite") !!
 

(defun c:SCU-Gauche ()

	(command "_UCS" "_Name" "_Restore" "Gauche")
	(princ)

)

(defun c:SCU-Droite ()

	(command "_UCS" "_Name" "_Restore" "Droite")
	(princ)

)

AprÚs tu affectes la commande comme bon te semble mais si le SCU "Gauche" ou le SCU "Droite" n'existe pas, cela va générer une erreur et tu devras quitter la commande manuellement !!! (vl-catch-all-apply) ne fonctionne pas sur la fonction (command)

Bisous,
Luna

Posté(e)

Top, merci Luna !

J'ai transcris ton script en macro, ça posera sûrement moins de souci en cas d'inexistence du SCU.

 

Ca donne ça :

^C^C_UCS _Name _Restore "Gauche"

 

Et avec un raccourci clavier, attribuĂ© Ă  ma souris, un simple clic sous le doigt suffit Ă  changer de scu en 20 ms 🙂

 

Merci beaucoup !

Posté(e)

Que se soit en LISP ou sous forme de macro, si le SCU n'existe pas, tu auras une erreur, mais bon le principal c'est que cela fonctionne correctement chez toi !

Bisous,
Luna

Posté(e)

J'aie l'impression d'avoir loupé une sacré grosse marche : il est possible de lancer une macro comme on lance un alia clavier ?????

C'est l'une des raisons pour lesquelles je me suis orienté LISP et aie complétement ignoré les macros : je n'aie jamais réussit à lancer une macro autrement que via un bouton ou une palette d'outil, tout deux nécessitant l'usage de la sourie, contrairement aux LISP pour lesquelles il est trÚs simple et rapide de leur attribuer un alias qui nous convienne.

Je suis dysorthographique alors lùchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Invité
RĂ©pondre Ă  ce sujet


×   CollĂ© en tant que texte enrichi.   Coller en tant que texte brut Ă  la place

  Seulement 75 Ă©moticĂŽnes maximum sont autorisĂ©es.

×   Votre lien a Ă©tĂ© automatiquement intĂ©grĂ©.   Afficher plutĂŽt comme un lien

×   Votre contenu prĂ©cĂ©dent a Ă©tĂ© rĂ©tabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insĂ©rez-les depuis une URL.

×
×
  • 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Ă©