Hallo!
Ich arbeite gerade an einen PythonPart das ein Paar LabelElements enthalten soll. Bei der ersten erstellung des PythonParts funktioniert alles gut, aber wenn man das PythonPart ändert werden die alten labellen nicht gelöscht.

Minimal reproducable code:

Python:

import NemAll_Python_BaseElements as AllplanBaseElements
import NemAll_Python_BasisElements as AllplanBasisElements
import NemAll_Python_Geometry as AllplanGeo
from PythonPart import View2D3D, PythonPart

# Method for checking the supported versions
def check_allplan_version(build_ele, version):
    # Delete unused arguments
    del build_ele
    del version
 
    # Support all versions
    return True

def create_label(text, pos, com_prop=AllplanBaseElements.CommonProperties(), text_prop=AllplanBasisElements.TextProperties()):
    text_ele = AllplanBasisElements.TextElement(com_prop, text_prop, text, AllplanGeo.Point2D(*pos))
    return AllplanBasisElements.LabelElement(text_ele, AllplanBasisElements.eLabelNormalText)

# Method for element creation
def create_element(build_ele, doc):

    model_ele_list = []
    handle_list    = []

    com_prop = AllplanBaseElements.CommonProperties()
    com_prop.GetGlobalProperties()
    
    polyhedron = AllplanGeo.Polyhedron3D.CreateCuboid(build_ele.length.value,
                                                    build_ele.width.value,
                                                    build_ele.height.value)

    model_ele_list.append(AllplanBasisElements.ModelElement3D(com_prop, polyhedron))
    views = [View2D3D (model_ele_list)]
    labels = [create_label("BL", (0, 0)), create_label("TR", (build_ele.width.value, build_ele.length.value))]

    pythonpart = PythonPart("Test",
                            parameter_list = build_ele.get_params_list(),
                            hash_value     = build_ele.get_hash(),
                            python_file    = build_ele.pyp_file_name,
                            views          = views,
                            label_elements = labels
                            )
    return (pythonpart.create(), handle_list)

*.pyp:

<?xml version="1.0" encoding="utf-8"?>

<Element>
	<Script>
		<Name>Test\Test.py</Name>
		<Title>Test</Title>
		<Interactor>False</Interactor>
	</Script>
	<Page>
		<Name>page_0</Name>
		<Text>Page</Text>
		
		<Parameter>
			<Name>length</Name>
			<Text>Langth</Text>			
			<ValueType>Double</ValueType>
			<Value>1000</Value>
		</Parameter>
		<Parameter>
			<Name>width</Name>
			<Text>Width</Text>			
			<ValueType>Double</ValueType>
			<Value>1000</Value>
		</Parameter>
		<Parameter>
			<Name>height</Name>
			<Text>Height</Text>			
			<ValueType>Double</ValueType>
			<Value>1000</Value>
		</Parameter>
	</Page>
</Element>

Anhänge (2)

Typ: image/png
52-mal heruntergeladen
Größe: 2,14 KiB
Typ: image/png
50-mal heruntergeladen
Größe: 2,22 KiB