coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Forum destiné aux questions et discussions en français
Forum rules
Règles du forum et informations utiles.

VEUILLEZ LIRE CECI AVANT DE DEMANDER DE L'AIDE
User avatar
-alex-
Veteran
Posts: 1708
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by -alex- »

Forthman wrote: Mon Sep 18, 2023 9:04 pm Bon... je sens que je tiens un truc là :D
Exact, bien vu 8-)
User avatar
flachyjoe
Veteran
Posts: 1631
Joined: Sat Mar 31, 2012 12:00 pm
Location: Limoges, France

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by flachyjoe »

Ok vous l'avez, je ne vendrais pas celle là :lol:

NB: la macro affiche une erreur sans conséquence car il il ne semble pas y avoir de méthode pour savoir combien il y a de points dans la vue sans dépasser le bord du tableau.

Code: Select all

# (c) Florian Foinant-Willig
# sous licence CC-BY-SA 4.0

import math

def main():
	doc = App.ActiveDocument
	# view, page and vertex from selection
	selEx = Gui.Selection.getSelectionEx()
	if (not selEx or selEx[0].Object.TypeId != 'TechDraw::DrawViewPart'):
		Err("Sélectionnez le point d'origine\n")
		return

	view = selEx[0].Object
	page = [obj for obj in view.InList if obj.TypeId == 'TechDraw::DrawPage'][0]
	vertexName = selEx[0].SubElementNames[0]
	try:
		vertexOrig = view.getVertexBySelection(vertexName)
	except:
		Err("le point sélectionné est inutilisable.")
		return
	origX = vertexOrig.X
	origY = vertexOrig.Y
	
	def balloonXY(x, y, decimals=3):
		df = math.pow(10, decimals)
		bln = doc.addObject('TechDraw::DrawViewBalloon', 'XY')
		bln.SourceView = view
		bln.BubbleShape = u"Inspection"
		bln.ViewObject.Fontsize=3
		bln.OriginX = x
		bln.OriginY = y
		bln.X = x + math.copysign(origX, x)
		bln.Y = y + math.copysign(origY, y)
		page.addView(bln)
		dx = x - origX
		dy = y - origY
		labelX = math.ceil(dx*df)/df
		labelY = math.ceil(dy*df)/df
		bln.Text = f"{labelX};{labelY}"
		doc.recompute()
	
	i = 0
	while True:
		try:
			v = view.getVertexByIndex(i)
			i += 1
			balloonXY(v.X, v.Y, 2)
		except:
			break

main()
Attachments
XYBalloon.FCMacro
(1.22 KiB) Downloaded 4 times
- Flachy Joe -
"celui qui sait réinventer la roue est tout sauf un potiron" Michaël sur linuxfr.org
:ugeek: Modélisations et Macros à la demande, contactez-moi en MP. :ugeek:
WcnWood
Posts: 19
Joined: Thu May 18, 2023 8:47 am

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by WcnWood »

HOOO Forthman & flachyjoe

vous êtes mes rayon de soleil pour la journée
User avatar
Bernard19
Posts: 640
Joined: Sun Feb 20, 2022 7:16 pm

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by Bernard19 »

Forthman wrote: Mon Sep 18, 2023 9:04 pm on sélectionne un point AVANT de cliquer sur l'outil ballon
Comment fais-tu pour sélectionner le point?
Pour ma part, je n'arrive à sélectionner que des droites . Aussi ma précision n'est pas correcte lors de la mise en place des balloons.
Très beau travail.
david69
Veteran
Posts: 1617
Joined: Wed Jan 01, 2014 7:48 pm

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by david69 »

cela pourrait etre interessant de mettre cette fonction dans Techdraw? voir avec wandererfan.
User avatar
Forthman
Veteran
Posts: 2435
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by Forthman »

Super @flachyjoe :D

J'ai juste modifié ta macro pour avoir l'affichage sur deux lignes comme dans mon exemple
ligne 40 :

Code: Select all

bln.Text = f"X={labelX}\nY={labelY}"
Comme il m'arrive aussi de faire mes programmes à la main, je pense que cette macro me sera bien utile ;)
(d'habitude je faisais ça avec Autocad, mais là c'est encore plus simple)
User avatar
Forthman
Veteran
Posts: 2435
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by Forthman »

Bernard19 wrote: Tue Sep 19, 2023 7:35 am Comment fais-tu pour sélectionner le point?
Pour ma part, je n'arrive à sélectionner que des droites
Si tu ne vois pas les points, Il est très possible que l'affichage des "cadres" soit désactivé
fais un clic droit sur le dessin, dans le menu contextuel la première option 'Toggle Frames" permet de les afficher
s'ils ne s'affichent toujours pas, alors il est possible que dans ta config ils soient paramétrés trop petits :idea:
User avatar
Shalmeneser
Veteran
Posts: 8109
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by Shalmeneser »

Pour compléter l'explication ci-dessus : TechDraw_ToggleFrame/fr
WcnWood
Posts: 19
Joined: Thu May 18, 2023 8:47 am

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by WcnWood »

Bon c'est super merci beuacoup pour votre aide.
juste pour une histoire de finesse est ce qu'il est possible que la bulle je place à l'axe de 15mm en fonction du point a référencer?

et encore grattitude infinie pour votre aide

Cordialement W
User avatar
Bernard19
Posts: 640
Joined: Sun Feb 20, 2022 7:16 pm

Re: coter les points iso count en coordonée X;Y depuis un point de référence selectionné

Post by Bernard19 »

@Forthman @Shalmeneser
Merci pour vos précisions.
Il m'a suffit de cliquer sur Affichage des cadres pour voir les points.
Capture d'écran 2023-09-19 131355.png
Capture d'écran 2023-09-19 131355.png (1.21 KiB) Viewed 87 times
Post Reply