Jump to content

Request: Leading Zero in Point Numbering for Automated Script


---
 Share

Recommended Posts

Attached you will find a script that automatically creates equidistant points on the selected sections. The naming of the created points consists of the name of the selected section followed by “_Point” and a sequential number.

Is it possible to have the numbering start with a leading zero, so that the first point is named “_Point_01” instead of “_Point_1”?

# -*- coding: utf-8 -*-

import gom

elements = gom.ElementSelection({
	'category': [
		'key', 'elements',
		'part', gom.app.project.parts['Part'], 
		'explorer_category', 'actual'
	]
})

selected = [elem for elem in elements if elem.is_selected]


for elem in selected:
	gom.script.selection3d.deselect_all ()
	
	gom.script.selection3d.select_all_points_of_element(elements=[elem])
	
	MCAD_ELEMENT=gom.script.primitive.create_equidistant_vector_points_on_section (
	name=f'{elem.name}_Point',
	point_distance=106.5,
	properties=gom.Binary ('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'), 
	start_point={'point': gom.Vec3d (0.0, 0.0, 0.0)}, 
	start_point_offset=0.0)
	
	print(f"--> geselecteerd: {elem.name} (type={elem.type})")
	

CreatePoints.py

Edited
Link to comment
Share on other sites

Hi Jens, I am not sure whether this is supported as part of the mentioned command, but in the mean time you could achieve the desired effect by renaming the new points after they have been created:

elem = gom.app.project.actual_elements['Section_1']
gom.script.selection3d.select_all_points_of_element (elements=[elem])
points=gom.script.primitive.create_equidistant_vector_points_on_section (
	name=f'{elem.name}_Point', 
	point_distance=3.0)
for i in range(len(points)):
	gom.script.sys.edit_properties (data=[points[i]], elem_name=f'{elem.name}_Point_{i+1:02}')

Maybe this works for you.

Link to comment
Share on other sites

 Share

×
×
  • Create New...