Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Problem mit der BKS-Ausrichtung über 2 Punkte (2D/3D)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Problem mit der BKS-Ausrichtung über 2 Punkte (2D/3D) (857 mal gelesen)
tappenbeck
Mitglied
Vermessungsingenieur


Sehen Sie sich das Profil von tappenbeck an!   Senden Sie eine Private Message an tappenbeck  Schreiben Sie einen Gästebucheintrag für tappenbeck

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 28. Mai. 2013 19:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin!

ich möchte das BKS über zwei Punkte ausrichten wobei diese eigentlich 3D sind. Die Ausrichtung erfolgt aber nur über die Punkte in der Fläche.

Hierzu habe ich ein Stück Code:

Code:

  (defun blk_2 (blkname koord1 koord2 scale att / koord z1 z2 blk_z z_list koord3d)
        (princ "\nToDo: Punktnummer setzen")
        (princ "\nToDo: Layer setzen")
        (princ "\nToDo: Ausrichtung der Blöcke")
        (princ "\nToDo: Steuerung der Anzahl der Attribute")
        (princ "\nP1:= ")(princ koord1)
        (princ "\nP2:= ")(princ koord2)
        (princ "\nP1 R:= ")(princ (car koord1))(princ "  -  H:= ")(princ (cadr koord1))
        (princ "\nP2 R:= ")(princ (car koord2))(princ "  -  H:= ")(princ (cadr koord2))
        ;;Berechnung der Z-Höhe für den Block
        (setq z1 (caddr koord1)
      z2 (caddr koord2)
      z_list (list z1 z2)
      )
    (princ "\nvor dem max z1: ")
    (princ z1)
    (princ "  -  z2: ")
    (princ z2)

        (princ "\nz_list: ")(princ z_list)
    (setq
      blk_z (apply 'max z_list)
      );end-setq
    (princ "\nBlockhöhe: ")(princ blk_z)

    (setq p1_2d (list (car koord1)(cadr koord1) )
  p2_2d (list (car koord2)(cadr koord2) )
          abst2d_p1_p2 (distance p1_2d p2_2d)
  koord3d (list (/ abst2d_p1_p2 2) 0.0 blk_z)
  )

(princ "\np1_2d: ")(princ p1_2d)
(princ "\np2_2d: ")(princ p2_2d)
    (princ "\nPunktabstand 2D: ")(princ abst2d_p1_p2)
    (princ "\nBlockkoord 3D local: ")(princ koord3d)
   
  ;;;setzen eines lokalen Koordinatensystems über die beiden Referenzpunkte
  (command "_.ucs" "3p" p1_2d p2_2d "")
    )


Das Ausrichten funktioniert soweit auch - nur es ist nicht gleich wenn die Basis über 2D-Punkte erfolgt im Vergleich zu 3D - bei letzterem ist das Ergebnis nicht das gewünschte.

Hier einmal das Protokoll - 2D:

Zitat:

P1:= (635.671 230.667 0.0)
P2:= (638.648 233.274 0.0)
P1 R:= 635.671  -  H:= 230.667
P2 R:= 638.648  -  H:= 233.274
vor dem max z1: 0.0  -  z2: 0.0
z_list: (0.0 0.0)
Blockhöhe: 0.0
p1_2d: (635.671 230.667)
p2_2d: (638.648 233.274)
Punktabstand 2D: 3.95705
Blockkoord 3D local: (1.97853 0.0 0.0)

... und hier für 3D:

Zitat:

P1:= (635.671 230.667 10.0)
P2:= (638.648 233.274 20.0)
P1 R:= 635.671  -  H:= 230.667
P2 R:= 638.648  -  H:= 233.274
vor dem max z1: 10.0  -  z2: 20.0
z_list: (10.0 20.0)
Blockhöhe: 20.0
p1_2d: (635.671 230.667)
p2_2d: (638.648 233.274)
Punktabstand 2D: 3.95705
Blockkoord 3D local: (1.97853 0.0 20.0)

Die Auswertung von Z kann ignoriert werden...

Kann mir einer von Euch weiterhelfen oder hat eine gute Idee für eine andere Vorangehensweise ??

Gruß Jan :-)

------------------
jan :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz