Aller au contenu

Champ Aire et unites


Messages recommandés

Posté(e)

Bonjour à tous

 

J' utilise le champ AIRE pour mesurer mes surfaces/polyligne.

Mais il faut remplir à chaque fois le changement d'unite ( je bosse en cm et je veux mon champ en m²), donc je dois taper .0001 pour le facteur de conversion.

 

Il n'y aurait-il pas une variable pour gerer cela ds le fichier, parce que c'est vraiment lourd

 

Merci d'avance

 

@+

Posté(e)

Salut,

 

Je ne crois pas qu'il y ait de variable pour le format des champs (il en faudrait vraiment beaucoup !)

 

Je te propose d'essayer TotalArea qui fonctionne avec un bloc (fournit, mais on peut le modifier ou s'en créer un à sa guise)) contenant 2 attributs "dynamiques" et une variable AREACONV pour spécifier un facteur de conversion.

Le ZIP contient un fichier TXT avec quelques explications.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut

Je te conseille fortement Totalarea!! :D

 

Sinon dans ton champ aire tu as format supplémentaire et tu as un facteur de conversion!!

Sinon, on te surveille moins comme je vois...................... ;)

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

bonjour,

 

quand j'utilise totalarea, si je ferme mon dessin et que je le re-ouvre, l'associativite entre la polyligne et la surface est perdue.

ce n'est pas le cas avec les champs.

 

pourquoi?

 

 

Par contre, d'accord avec Esbe, avec les champs, le facteur de conversion ne reste pas constant et c'est vraiment pas pratique. mes dessins sont en mm, et des surfaces en mm2, bonjour les zeros

 

Posté(e)

quand j'utilise totalarea, si je ferme mon dessin et que je le re-ouvre, l'associativite entre la polyligne et la surface est perdue.

ce n'est pas le cas avec les champs

 

Est-ce qur TotalArea.lsp est chargé automatiquement à chaque démarrage ?

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci à tous pour vos réponses !

 

Je connais et j'utilise des lisp pour les surfaces de mes projets perso, mais dans l'agence où je suis actuellement, ils ont leurs habitudes... bref, je ne peux pas imposer un bloc pour les surfaces.

 

Sinon dans ton champ aire tu as format supplémentaire et tu as un facteur de conversion!!

 

Je sais bien, mais c'est pénible de le faire pour chaque surface, (12 000m² de shon t'imagine le nombre de pièces ? ) ;)

 

@+

Posté(e)

Bonjour à toutes et tous,

 

bref, je ne peux pas imposer un bloc pour les surfaces.

 

Pour faire fonctionner les lisps de (gile), tu peux utiliser le bloc de ta boite,...

 

Dans le pire des cas, à ta place j'utiliserai tout de même ces lisps et mettrai les infos sur un calque non imprimable, au moins tu aurais tes surfaces dans l'unité qui t'intéresses,...Non ?

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Bonjour,

 

Quelqu'un avait demander une fonction pour faire des surfaces de plancher avec des champs,

J'avais alors adapter la routine "CurveAreaField" que j'avais proposée sur CadXp.

 

Si je la modifie pour ton besoin, ça ne pourrais pas faire l'affaire (sachant que l'on pourra faire encore des ajustements)

 

Essayes cela !

 

(vl-load-com)
(defun c:surf_plancher ( / AcDoc Space nw_style e_last pt_in htx rtx obj ename nw_obj)
(setq
	AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
	Space
	(if (= 1 (getvar "CVPORT"))
		(vla-get-PaperSpace AcDoc)
		(vla-get-ModelSpace AcDoc)
	)
)
(cond
	((null (tblsearch "LAYER" "__METRE_Plancher"))
		(vlax-put (vla-add (vla-get-layers AcDoc) "__METRE_Plancher") 'color 3)
	)
)
(cond
	((null (tblsearch "STYLE" "Romand-Field"))
		(setq nw_style (vla-add (vla-get-textstyles AcDoc) "Romand-Field"))
		(mapcar
			'(lambda (pr val)
				(vlax-put nw_style pr val)
			)
			(list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag)
			(list "romand.shx" 0.0 (/ (* 15.0 pi) 180) 1.0 0.0)
		)
	)
)
(setq e_last (entlast))
(while (setq pt_in (getpoint "\nSpécifiez un point intérieur : "))
	(bpoly pt_in nil '(0 0 1))
	(cond
		((not (eq e_last (entlast)))
			(if (not htx)
				(progn
					(initget 6)
					(setq htx (getdist pt_in (strcat "\nSpécifiez la hauteur du champ <" (rtos (getvar "TEXTSIZE")) ">: ")))
					(if htx (setvar "TEXTSIZE" htx))
					(setq htx (getvar "TEXTSIZE"))
				)
			)
			(if (not rtx)
				(if (not (setq rtx (getorient pt_in "\nSpécifiez l'orientation du champ <0.0>: "))) (setq rtx 0.0))
			)
			(setq
				obj (entlast)
				ename (vlax-ename->vla-object obj)
			)
			(vlax-put ename 'Layer "__METRE_Plancher")
			(setq
				nw_obj
				(vla-addMtext Space
					(vlax-3d-point (trans pt_in 1 0))
					0.0
					(strcat
						"%<\\AcObjProp.16.2 Object(%<\\_ObjId "
						(itoa (vla-get-ObjectID ename))
						">%).Area \\f \"%lu2%pr2%ct8[0.0001]%ps[s=,"
						"m²]\">%"
					)
				)
			)
			(mapcar
				'(lambda (pr val)
					(vlax-put nw_obj pr val)
				)
				(list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation)
				(list 5 (getvar "TEXTSIZE") 5 (trans pt_in 1 0) "Romand-Field" "__METRE_Plancher" rtx)
			)
			(setq e_last (entlast))
		)
		(T
			(princ "\nAucun contour trouvé.")
		)
	)
 )
(prin1)
)

 

Ou regarde la routine originale sur ma page

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

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é