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