Description
Numérotation automatique des blocs (via les paramètres VisualArq). Ce script est encore expérimental et doit continuer d’être testé et mis à jour.
Le script suivant fonctionne sur :
- Rhino pour Windows ;
- Il requiert l’installation du plugin VisualArq.
Script par MLAV.LAND, sous licence GNU GPL 3.
Code
import rhinoscriptsyntax as rs
import clr
clr.AddReference("VisualARQ.Script")
import VisualARQ.Script as va
def main():
rs.EnableRedraw(False)
# Get all block instances in the document
block_instances = rs.GetObjects("Pick some blocks", 4096, preselect=True)
if not block_instances:
print("No block instances selected.")
return
autoId = 1
# Iterate through each block instance
for block in block_instances:
# Get and set VisualARQ parameters
parameterIds = va.GetAllObjectParameterIds(block, True)
identifierParamId = None
for paramId in parameterIds:
paramName = va.GetParameterName(paramId)
if paramName == "_00Id":
identifierParamId = paramId
if identifierParamId:
# Format autoId to always have two digits
formatted_autoId = str(autoId).zfill(2)
va.SetParameterValue(identifierParamId, block, formatted_autoId)
print(formatted_autoId)
autoId += 1
if __name__ == "__main__":
main()
print("All objects IDs are numbered :)")