Aller au contenu

Heu.... j\'ai honte


Messages recommandés

Posté(e)

CMLSCALE ?

 

tout ce que j'ai c'est une variable système.

C'est le code DXF que tu cherches ?

---> 40

 

L'échelle étant le rapport de pultiplication pour la distance entre 2 lignes, ce qui n'est pas la même chose.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Bonjour dr.loveless,

 

un petit truc pour compléter la réponse de Tramber, pour tous les bidouilleurs fous du "SLIP", VBA ou des macros avec ou sans DIESEL et bien sur les Scripteux, c'est pas une maladie ! n'est ce pas Tramber ?

 

si vous cherchez une variable ? exemple, celle cité ci-dessus (CMLSCALE) :

 

1. utiliser normalement la commande, en tapant une valeur bien spéciale

(exemple Tintin.Tintin ou pour ceux qui n'ont pas "pigé" 77.77).

 

2. Utiliser et Terminer normalement la commande (ici Multi-lignes), puis taper au clavier MODIFVAR et entrée, puis ? Entrée et Entrée pour <*> La liste défile, il n'y a plus qu'à trouver où se cache notre valeur 77.77...???? Entrée, Entrée, Entrée,...jusqu'à tomber dessus.

 

Il fut une époque (toujours celle de la Préhistoire), où il n'était pas possible de tout de suite taper une variable système, il fallait toujours passer pas cette fameuse MODIFVAR et le nom de la variable).

 

Ce principe est valable pour presque toutes les variables sytèmes.

 

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Posté(e)

La réponse d'un "Slippeur" fou.

 

Un truc qui me sert bien quand je programme pour identifier la modification d'une variable.

Je l'initialise en lancant la procédure une 1ere fois

Je lance ma commande standard ou même un prog lisp ou autre que je soupconne de modifier une variable sans la remettre dans son état initial.

Je relance la procédure une 2eme fois, et magique j'ai les variables modifiées entre les 2 instants "T"

 

NB: Développer avec les variables de la 2002, on peut adapter pour les autres versions.

 

commande STATVAR

 


(defun c:statvar ( / l_var l_rslt renvoi)
(setq l_var
	'(
"ACADLSPASDOC"
"ACADPREFIX"
"ACADVER"
"ACISOUTVER"
"AFLAGS"
"ANGBASE"
"ANGDIR"
"APBOX"
"APERTURE"
"AREA"
"ATTDIA"
"ATTMODE"
"ATTREQ"
"AUDITCTL"
"AUNITS"
"AUPREC"
"AUTOSNAP"
"BACKZ"
"BINDTYPE"
"BLIPMODE"
"CDATE"
"CECOLOR"
"CELTSCALE"
"CELTYPE"
"CELWEIGHT"
"CHAMFERA"
"CHAMFERB"
"CHAMFERC"
"CHAMFERD"
"CHAMMODE"
"CIRCLERAD"
"CLAYER"
"CMDACTIVE"
"CMDDIA"
"CMDECHO"
"CMDNAMES"
"CMLJUST"
"CMLSCALE"
"CMLSTYLE"
"COMPASS"
"COORDS"
"CPLOTSTYLE"
"CPROFILE"
"CTAB"
"CURSORSIZE"
"CVPORT"
"DATE"
"DBMOD"
"DCTCUST"
"DCTMAIN"
"DEFLPLSTYLE"
"DEFPLSTYLE"
"DELOBJ"
"DEMANDLOAD"
"DIASTAT"
"DIMADEC"
"DIMALT"
"DIMALTD"
"DIMALTF"
"DIMALTRND"
"DIMALTTD"
"DIMALTTZ"
"DIMALTU"
"DIMALTZ"
"DIMAPOST"
"DIMASO"
"DIMASZ"
"DIMATFIT"
"DIMAUNIT"
"DIMAZIN"
"DIMBLK"
"DIMBLK1"
"DIMBLK2"
"DIMCEN"
"DIMCLRD"
"DIMCLRE"
"DIMCLRT"
"DIMDEC"
"DIMDLE"
"DIMDLI"
"DIMDSEP"
"DIMEXE"
"DIMEXO"
"DIMFIT"
"DIMFRAC"
"DIMGAP"
"DIMJUST"
"DIMLDRBLK"
"DIMLFAC"
"DIMLIM"
"DIMLUNIT"
"DIMLWD"
"DIMLWE"
"DIMPOST"
"DIMRND"
"DIMSAH"
"DIMSCALE"
"DIMSD1"
"DIMSD2"
"DIMSE1"
"DIMSE2"
"DIMSHO"
"DIMSOXD"
"DIMSTYLE"
"DIMTAD"
"DIMTDEC"
"DIMTFAC"
"DIMTIH"
"DIMTIX"
"DIMTM"
"DIMTMOVE"
"DIMTOFL"
"DIMTOH"
"DIMTOL"
"DIMTOLJ"
"DIMTP"
"DIMTSZ"
"DIMTVP"
"DIMTXSTY"
"DIMTXT"
"DIMTZIN"
"DIMUNIT"
"DIMUPT"
"DIMZIN"
"DISPSILH"
"DISTANCE"
"DONUTID"
"DONUTOD"
"DRAGMODE"
"DRAGP1"
"DRAGP2"
"DWGCHECK"
"DWGCODEPAGE"
"DWGNAME"
"DWGPREFIX"
"DWGTITLED"
"EDGEMODE"
"ELEVATION"
"EXPERT"
"EXPLMODE"
"EXTMAX"
"EXTMIN"
"EXTNAMES"
"FACETRATIO"
"FACETRES"
"FILEDIA"
"FILLETRAD"
"FILLMODE"
"FONTALT"
"FONTMAP"
"FRONTZ"
"FULLOPEN"
"GRIDMODE"
"GRIDUNIT"
"GRIPBLOCK"
"GRIPCOLOR"
"GRIPHOT"
"GRIPS"
"GRIPSIZE"
"HANDLES"
"HIDEPRECISION"
"HIGHLIGHT"
"HPANG"
"HPBOUND"
"HPDOUBLE"
"HPNAME"
"HPSCALE"
"HPSPACE"
"HYPERLINKBASE"
"IMAGEHLT"
"INDEXCTL"
"INETLOCATION"
"INSBASE"
"INSNAME"
"INSUNITS"
"INSUNITSDEFSOURCE"
"INSUNITSDEFTARGET"
"ISAVEBAK"
"ISAVEPERCENT"
"ISOLINES"
"LASTANGLE"
"LASTPOINT"
"LASTPROMPT"
"LENSLENGTH"
"LIMCHECK"
"LIMMAX"
"LIMMIN"
"LISPINIT"
"LOCALE"
"LOGFILEMODE"
"LOGFILENAME"
"LOGFILEPATH"
"LOGINNAME"
"LTSCALE"
"LUNITS"
"LUPREC"
"LWDEFAULT"
"LWDISPLAY"
"LWUNITS"
"MAXACTVP"
"MAXOBJMEM"
"MAXSORT"
"MBUTTONPAN"
"MEASUREINIT"
"MEASUREMENT"
"MENUCTL"
"MENUECHO"
"MENUNAME"
"MIRRTEXT"
"MODEMACRO"
"MTEXTED"
"NOMUTT"
"OFFSETDIST"
"OFFSETGAPTYPE"
"OLEHIDE"
"OLEQUALITY"
"OLESTARTUP"
"ORTHOMODE"
"OSMODE"
"OSNAPCOORD"
"PAPERUPDATE"
"PDMODE"
"PDSIZE"
"PELLIPSE"
"PERIMETER"
"PFACEVMAX"
"PICKADD"
"PICKAUTO"
"PICKBOX"
"PICKDRAG"
"PICKFIRST"
"PICKSTYLE"
"PLATFORM"
"PLINEGEN"
"PLINETYPE"
"PLINEWID"
"PLOTID"
"PLOTROTMODE"
"PLOTTER"
"PLQUIET"
"POLARADDANG"
"POLARANG"
"POLARDIST"
"POLARMODE"
"POLYSIDES"
"POPUPS"
"PROJECTNAME"
"PROJMODE"
"PROXYGRAPHIC"
"PROXYNOTICE"
"PROXYSHOW"
"PSLTSCALE"
"PSPROLOG"
"PSQUALITY"
"PSTYLEMODE"
"PSTYLEPOLICY"
"PSVPSCALE"
"PUCSBASE"
"QTEXTMODE"
"RASTERPREVIEW"
"REFEDITNAME"
"REGENMODE"
"RE-INIT"
"RTDISPLAY"
"SAUVACIS"
"SAVEFILE"
"SAVEFILEPATH"
"SAVENAME"
"SAVETIME"
"SCREENBOXES"
"SCREENMODE"
"SCREENSIZE"
"SDI"
"SHADEDGE"
"SHADEDIF"
"SHORTCUTMENU"
"SHPNAME"
"SKETCHINC"
"SKPOLY"
"SNAPANG"
"SNAPBASE"
"SNAPISOPAIR"
"SNAPMODE"
"SNAPSTYL"
"SNAPTYPE"
"SNAPUNIT"
"SOLIDCHECK"
"SORTENTS"
"SPLFRAME"
"SPLINESEGS"
"SPLINETYPE"
"SURFTAB1"
"SURFTAB2"
"SURFTYPE"
"SURFU"
"SURFV"
"SYSCODEPAGE"
"TABMODE"
"TARGET"
"TDCREATE"
"TDINDWG"
"TDUCREATE"
"TDUPDATE"
"TDUSRTIMER"
"TDUUPDATE"
"TEMPPREFIX"
"TEXTEVAL"
"TEXTFILL"
"TEXTQLTY"
"TEXTSIZE"
"TEXTSTYLE"
"THICKNESS"
"TILEMODE"
"TOOLTIPS"
"TRACEWID"
"TRACKPATH"
"TREEDEPTH"
"TREEMAX"
"TRIMMODE"
"TSPACEFAC"
"TSPACETYPE"
"TSTACKALIGN"
"TSTACKSIZE"
"UCSAXISANG"
"UCSBASE"
"UCSFOLLOW"
"UCSICON"
"UCSNAME"
"UCSORG"
"UCSORTHO"
"UCSVIEW"
"UCSVP"
"UCSXDIR"
"UCSYDIR"
"UNDOCTL"
"UNDOMARKS"
"UNITMODE"
"*USERI1"
"*USERI2"
"*USERI3"
"*USERI4"
"*USERI5"
"*USERR1"
"*USERR2"
"*USERR3"
"*USERR4"
"*USERR5"
"*USERS1"
"*USERS2"
"*USERS3"
"*USERS4"
"*USERS5"
"VIEWCTR"
"VIEWDIR"
"VIEWMODE"
"VIEWSIZE"
"VIEWTWIST"
"VISRETAIN"
"VSMAX"
"VSMIN"
"WHIPARC"
"WMFBKGND"
"WORLDUCS"
"WORLDVIEW"
"WRITESTAT"
"XCLIPFRAME"
"XEDIT"
"XFADECTL"
"XLOADCTL"
"XLOADPATH"
"XREFCTL"
"ZOOMFACTOR"
"*FORCE_PAGING"
"*FLATLAND"
"*ERRNO"
"*ENTMODS"
"*ENTEXTS"
"*DBCSTATE"
;"*CPUTICKS"
"*AXISUNIT"
"*AUXSTAT"
"*ADCSTATE"
"*ACGIDUMPMODE"
"*_VERNUM"
"*_SERVER"
"*_PKSER"
;"*_LINFO"
"*USEACIS"
"*RE-INIT"
"*QAUCSLOCK"
"*QAFLAGS"
"*PROGRAM"
"*PRODUCT"
"*PHANDLE"
"*OPMSTATE"
"*NODENAME"
"*MILLISECS"
"*MAXOBJMEM"
"*MACROTRACE"
"*LAZYLOAD"
"*GLOBCHECK"
	)
)
(initget 1 "Initial Comparaison")
(cond
	((eq (getkword "\n[initial/Comparaison] ?: ") "Initial")
		(setq l_ori (mapcar 'getvar l_var))
	)
	(T
		(if (null l_ori)
			(prompt "\nEtat Initial non mémorisé.\nExecutez l'option Initial")
			(progn
				(setq l_rslt (mapcar 'getvar l_var))
				(setq renvoi
					(mapcar
						'(lambda (x y z)
							(if (not (equal x y))
								(strcat "\n" z " a été modifié.")
								""
							)
						)
						l_ori l_rslt l_var
					)
				)
				(if (null renvoi)
					(prompt "\nAucune variable modifiée.")
					(progn
						(textpage)
						(foreach n renvoi (if (not (eq n "")) (prompt n)))
					)
				)
			)
		)
	)
)
(prin1)
)

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

hello,

il est bougrement malin, le BonusCad.

je vais de ce pas me l'adopter.

ça peut servir aussi à vérifier deux machines

qui n'ont pas les mêmes réactions.

en effet, je suis confronté souvent à des "pétages" de variables,

avec maints applicatifs ...

ce qui est dur à expliquer aux utilisateurs.

merci beau cou à toua.

 

Posté(e)

re hello,

je vais arranger ça, dès que j'ai le temps.

en effet, si on écrit un fichier,

on pourra les comparer.

comme ça, je verrai tout de suite la variable susceptible

de créer le dysfonctionnement.

Merci Beaucoup BonusCad

ça fait un moment que je pensais à quelque chose de ressemblant,

mais maintenant, c'est concret.

ciao

Posté(e)

CDATE a été modifié.

DATE a été modifié.

LASTPROMPT a été modifié.

TDINDWG a été modifié.

TDUSRTIMER a été modifié.

*MILLISECS a été modifié.

 

Ca c'est quand on a rien changé dans le dessin.

 

Passionnant, non ?

 

(je vais réviser mon mapcar, car je l'utilise sans doute trop timidement, voilà l'occas).

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Hello Didier,

 

ça peut servir aussi à vérifier deux machines qui n'ont pas les mêmes réactions.

Je ne m'en suis jamais servi pour comparer 2 machines, mais pourquoi pas!? ;)

 

Dans le même esprit j'ai aussi une routine qui compare les fonctions chargées en mémoire par rapport à un état initial quel l'on fixe à un moment choisi (c'est à dire après le chargement automatique de fonctions)

Cela me sert principalement à voir si je n'ai pas oublié de déclarer des variables dans mon programme en local après son execution . Mais on peut voir aussi toutes les fonctions valides et les variables déclarées (cela fait une très longue liste)

On peut découvrir des fonctions interressantes mais le Hic c'est qu'elle ne sont plus consultable en clair comme dans les anciennes versions à l'aide du ! (point d'exclamation)

 

Si interessé, voir dans le téléchargement de Bonuscad les fichiers FC-INIT.LSP et FC-LOAD.LSP

ainsi que le fichier ATOMLST0.ORI qui est le fichier des fonctions standards basiques pour 2002.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Merci de vos compliments à tous

 

Je travaille essentiellement sous 2002, j'en suis pleinement satisfait.

 

Quand je vois les misères rencontré avec la 2004, je ne me presse pas, surtout que je trouve les évolutions mineures et ne correspondant pas à mes besoins.

J'ai essayé la 2004 sous 30 jours sur un poste Millenium (même pas XP) et j'ai rencontré des problèmes (il ne me reconnaissait plus les motifs de hachures ISO, j'ai jamais rien compris: pourtant j'ai fouillé)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

bonsoir,

pour comparer deux machines,

je pense faire un fichier texte,

formaté précisement,

de façon à pouvoir le comparer ligne à ligne,

tu as fait quatre vingt dix pour cent du boulot ...

au fait, on t'a remercié ? ;) ;) ;)

ciao

  o

      o

                 o

 

Posté(e)

Ben c'est bien, tout çà, mais on est sur le forum " VBA et VB", en lisp je sais comment faire , mais pas en VBA !!!

 

Revenons-en à nos moutons, quelle est le code pour changer "le multiplicateur d'echelle" d'une multiligne, sous VBA ??

 

J'ai chercher au moins 3 heures et rien !!!!

Le DOC

Posté(e)

La commande ThisDrawing.SetVariable "CMLSCALE", 100 fait que l'echelle de la MLINE est de 100, doncquand je dessinne une MLINE sur AutoCAD apres avoir lancer le code ci-avant, l'echelle de la MLINE sera bien de 100, mais en revanche si je dessine la MLINE en question depuis un VBA l'echelle sera tjs de 1 !!

 

Pourquoi?????

 

Le DOC

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é