DIN Links/Rechts

Hallo,

ich habe ein Makro erstellt das Türen mit DIN Links bzw. DIN Rechts beschriftet. Das Macro ist  "mit der heißen Nadel gestrickt" aber ich würde es  schon einmal zur Verfügung stellen um dann gern eure (konstruktive) Kritik zu hören. Im beiliegenden Video habe ich alle Schritte zum Einrichten des Macros erklärt. Macro und Beispiel DGN mit Darstellungsregel sind beigefügt.

PS: vielen Dank an Artur Goldsweer der mir erklären konnte wo der Unterschied in der Zelle zu finden ist.

DINLR.dgnDIN_LR.mvba

Parents
  • Uns scheint Matrix3dIsXRotationYRotationZRotationScale nicht die richtige Auswertung zu geben. Da werden ja 'nur' Drehungen abgefragt.

    Wir haben mit Matrix3dIsXYRotationSkewAndScale mehr Erfolg: Da wird auch eine Spiegelung geliefert.

            Dim rot2 As Matrix3d
            rot2 = door.Rotation
            
            Dim xRot2 As Double, yRot2 As Double, xScale As Double, yScale As Double, zScale As Double
            Matrix3dIsXYRotationSkewAndScale rot2, xRot2, yRot2, xScale, yScale, zScale
            
            If yScale < 0 Then
               din_lr = "DIN Rechts"
               din_lr = "R"
            Else
               din_lr = "DIN Links"
               din_lr = "L"
            End If

  • Ich bekomme mit der X_Rotation eigentlich immer die richtigen Ergebnisse Die Türen in der Beispieldatei sind gedreht und der Anschlag mit dem üblichen Werkzeug gespiegelt. Andere Werte ändern sich auch, aber der Xwert reicht für eine Beurteilung. Wie gesagt, ich habe nur PAZ Zellen geprüft. Der Anschlag der mitgelieferten Türen war zu Beginn immer links. evtl liegt es daran. Ich könnte das Makro so umbauen das zunächst ein Wert manuel eingetragen wird, der das Objekt im Originalzustand beschreibt und dann den Wert entsprechend ändert.

    Eine Konfigurationsdatei werde ich auch noch hinzufügen so das der Parameter als auch der Wert (zur Zeit Door/Door/DINLR , DIN Rechts) frei gewählt werden kann.

     



  • Feature Solids in der Datei führen zu Fehlern. Muss man noch abfangen.

  • Wir haben leider Türen mit Rotation-x = -0° obwohl nicht gespiegelt. Das ist vermutlich das Problem. Unsere paz Zellen sind auch alle DIN-L.

    und

    Öffnungselemente / Durchbrüche werden offenbar  bei If tfType = 59 Then auch mit gelesen. Müssten auch noch sicherheitshalber ausgeschlossen werden. Wir haben uns mit If Not InStr(stEleName, "Pene") > 0 Then beholfen. Geht sicher besser.

  • Ich suche noch nach einem Weg den Katalogtyp auszulesen, das wäre am sichersten. Würde es dann auf Türen und Fenster beschränken.

    Der Xwert mit -0 ist sicherlich nur eine Rundungsungenauigkeit. Da auf der anderen Seite 180 bzw -180 steht sollte die Abfrage

    if xwert > 0.1 or xwert < -0.1 auch funktionieren.



Reply Children
No Data