Ich kann problemlos mit BReps arbeiten, aber ich bekomme es einfach nicht hin eine einfache Decke mit der PythonAPI zu erstellen. Bei den Beispielen habe ich nur das Raumbeispiel gefunden, da komme ich auch nicht weiter. Das ModelElement3D wird erstellt, beinhaltet jedoch keine Geometrie.
Evtl. kann jemand mal ein Blick auf meinen code werfen. Ich habe es sehr simpel gehalten.
# tested on Allplan 2024.1.x print("Let's go!") import NemAll_Python_Geometry as AllplanGeo import NemAll_Python_BaseElements as AllplanBaseElements import NemAll_Python_BasisElements as AllplanBasisElements import NemAll_Python_ArchElements as AllplanArchElements from CreateElementResult import CreateElementResult as EleRes def check_allplan_version(build_ele, version): # Delete unused arguments del build_ele del version # Support all versions return True def create_element(build_ele, doc): # Delete unused arguments del build_ele del doc print("\nRun script and have fun ... :-)\n") model_ele_list = [] com_props = AllplanBaseElements.CommonProperties() com_props.GetGlobalProperties() # ***************************************** # simple geometry origin = AllplanGeo.AxisPlacement3D( AllplanGeo.Point3D(0, 0, 0), AllplanGeo.Vector3D(0, 1, 0), AllplanGeo.Vector3D(0, 0, 1) ) abrep = AllplanGeo.BRep3D.CreateCylinder(origin, 5, 10) print(type(abrep)) print(abrep) model_ele_list.append(AllplanBasisElements.ModelElement3D(com_props, abrep)) print(type(model_ele_list[0])) print(model_ele_list[0]) # ***************************************** # arch geometry polygon2D = AllplanGeo.Polygon2D() polygon2D += AllplanGeo.Point2D(0, 0) polygon2D += AllplanGeo.Point2D(100, 0) polygon2D += AllplanGeo.Point2D(100, 50) polygon2D += AllplanGeo.Point2D(0, 50) polygon2D += polygon2D.Points[0] # print(polygon2D) slab_props = AllplanArchElements.SlabProperties() aslab_ele = AllplanArchElements.SlabElement(slab_props, polygon2D) print(type(aslab_ele)) print(aslab_ele) model_ele_list.append(AllplanBasisElements.ModelElement3D(com_props, aslab_ele)) print(model_ele_list[1]) print(type(model_ele_list[1])) # ***************************************** # End return EleRes(elements = model_ele_list)
BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a