Support Forum

[Frage] Masslinien verursachen NOI Fehler [Gelöst]

Schlagworte:
  • Python
  • Masslinien

Hallo,

ich wollte ganz normal eine Masslinie in meinem Script einbauen, doch diese verursachen einen NOI Fehler, und ich finde leider nicht heraus was das Problem ist. Ich habe mich sehr strikt an das Beispiel Script "Dimensioning" gehalten.

Es ist eine simple Masskette mit 2 Punkten einer 2DPolyline, hier der Code:

dim_points = AllplanGeo.Point3DList()
polylinedimpt = AllplanGeo.Polyline2D()
polylinedimpt += AllplanGeo.Point2D(0,0)
polylinedimpt += AllplanGeo.Point2D(0,50)
dim_points.append(AllplanGeo.Point3D(polylinedimpt[0]))

dim_line_y = AllplanBasisElements.DimensionLineElement(dim_points, AllplanGeo.Vector2D(1000, 0),AllplanGeo.Vector2D(1000, 0), dim_prop)
dim_line_y.SetCommonProperties(common_props)

elemenetliste.append(dim_line_y)

Die Properties habe ich vorab definiert, und hier nicht ergänzt.

Fehlermeldung:

Allgemeiner Datenbankfehler aufgetreten. Typ: CNOI_BasisMacro (ID: '00000000-0000-0000-0000-000000000000--0')
Y:\Projects_Core\NemAll_NOI_Pool\noi_DatabaseImp.cpp(484)

CNOI_DB_CreateException

Danke schonmal vorab für die Hilfe

Gruss Sebastian

Lösung anzeigen Lösung verbergen

Mir wurde von anderer Seite geholfen, der Fehler lag darin, wenn ich mit der Masskette zwei Punkte vermasse die eine Delta Differnez in X Richtung von 0 haben und 5 in Y Richtung den Distance Vektor (Arg2) und Direction Vektor (Arg3) passen müssen.
In diesem Fall hat zwar der Distance Vekor gepasst, aber der Dircetion Vektor war auch entlang einer X-Achse. Dieser muss natürlich in Richtung einer Y-Achse laufen um zwei Punkte in Y Richtung zu bemassen.

Wenn ich in Allplan versuche eine Masskette mit der Länge 0 zu platzieren, lässt Allplan mich gar nicht erst den zweiten Punkt bemassen. Im PythonPart zwinge ich Allplan dazu und daher der NOI Fehler.

Mir wurde von anderer Seite geholfen, der Fehler lag darin, wenn ich mit der Masskette zwei Punkte vermasse die eine Delta Differnez in X Richtung von 0 haben und 5 in Y Richtung den Distance Vektor (Arg2) und Direction Vektor (Arg3) passen müssen.
In diesem Fall hat zwar der Distance Vekor gepasst, aber der Dircetion Vektor war auch entlang einer X-Achse. Dieser muss natürlich in Richtung einer Y-Achse laufen um zwei Punkte in Y Richtung zu bemassen.

Wenn ich in Allplan versuche eine Masskette mit der Länge 0 zu platzieren, lässt Allplan mich gar nicht erst den zweiten Punkt bemassen. Im PythonPart zwinge ich Allplan dazu und daher der NOI Fehler.