• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Projektion von Punkten und Linien auf einen generischen Plan

  • Ersteller Ersteller Betoniera
  • Erstellt am Erstellt am

Betoniera

Guest
Hallo an alle
Ich erkläre mein Problem in der Hoffnung, dass die Zauberer der Lispe mir einige Vorschläge geben.
zur Modellierung der Strukturen in den Berechnungsprogrammen ist es notwendig, ein Unifilare-Modell aus nur Linien mit Autocad zu importieren.
die Schwierigkeit liegt darin, dass die Linien der Balken, die beispielsweise auf dem Boden eines unregelmäßigen Daches platziert werden, alle auf dem gleichen Boden bleiben müssen.
Ich dachte an ein Lisp-Programm, das:
- definiert den Projektionsplan über 3 Punkte
- Projektieren Sie die Linien oder Punkte auf dieser Ebene, indem Sie die einzige Koordinaten z (initiativ in Anlage entworfen) ändern.
Ich habe bereits ein Programm, das die Entitäten auf Plan z=0 projiziert.
Ich sollte es anpassen, um die Wesen auf dem Boden zu klopfen. Aber hier gibt es einige Schwierigkeiten, den Plan zu definieren und die neue Quote z des Plans zu berechnen.
Es gibt wahrscheinlich etwas zu arbeiten.
Ich frage daher, ob es schon etwas gibt.
Vielen Dank, wer mir einige Vorschläge geben wird
Hi.
 
Tschüss!

Verwenden Sie "flatten" Befehl und bringen Sie alles auf z=0
Das hat es schon.
er will einen bestimmten Projektionsplan definieren:
... Ich dachte an ein Lisp-Programm, das:
- Ja. definiert den Projektionsplan über 3 Punkte- Projektieren Sie die Linien oder Punkte auf dieser Ebene, indem Sie die einzige Koordinaten z (initiativ in Anlage entworfen) ändern.Ich habe bereits ein Programm, das die Entitäten auf Plan z=0 projiziert.Ich sollte es anpassen, um die Wesen auf dem Boden zu klopfen. aber hier geht es um einige Schwierigkeiten bei der Festlegung des Plans und bei der Berechnung der neuen Quote z des Plans....
 
Okay, du hast recht.

wenn die z konstant wäre einfach, aber ich nehme an, Ihre Pläne werden gekippt

für Konstante z
1) den Plan erstellen und daraus die Koordinaten z mit dem vla-get extrahieren
2) wählen Sie die Elemente und ändern Sie diese die Koordinaten z mit dem vla-Set
 
Sehen Sie, ob es funktioniert.
Code:
Proietta linee su piano inklinato
; gian paolo cattaneo - 15/01/2015

(Defun c:linp ( / p1 p2 p3 lin n l pa pb)
(falls und
(setq p1 (trans (getpoint "\nselezionare 1° Klavierpunkt)) 1 0)
(setq p2 (trans (getpoint "\nselezionare 2° punto de piano") 1 0)
(setq p3 (trans (getpoint "\nselezionare 3° Klavierpunkt)) 1 0)
(princ "\nselezionare le linee da proiettare sul piano")
(setq lin (ssget '(0 . "line")))))
)
(Repeat)
(setq l (entget (ssname lin (setq n (1-n)))))))
(setq pa (cdr (10 l)))
(setq pb (cdr (assoc 11 l)))
(setq l (entmod) (cons 10 (psp p1 p2 p3 pa))
(entmod (subst (cons 11 (psp p1 p2 p3 pb))
)
)
)

(Defun psp (*p1 *p2 *p3 *p / x1 y1 z1 x2 y2 z2 x3 y3 z3 *a *c *pz)
(setq x1 (car *p1)
y1 (cadr. *p1)
z1 (caddr *p1)
x2 (Auto *p2)
y2 (cad. *p2)
z2 (caddr *p2)
x3 (Auto *p3)
y3 (cadr. *p3)
Z3 (caddr *p3)
)
(setq *a (-* (- y1 y2) (- z1 z3)) (* (- z1 z2) (- y1 y3))
(setq *b (-* (- z1 z2) (- x1 x3)) (* (- x1 x2) (- z1 z3))
(-* (- x1 x2) (- y1 y3)) (* (- y1 y2) (- x1 x3))
(einschl.
(Liste (Auto *p) (cadr *p) *pz)
)
 
"Sehen Sie, ob es funktioniert."

Ich habe das Programm versucht und es funktioniert.
Lieber Gp, zusätzlich zu Ihnen für die Zeit, die Sie mir gewidmet haben, muss ich Ihnen auch zu der Einfachheit und Kompaktheit des Programms gratulieren.
Ich hatte gedacht, so zu lösen:
- Eingabe von 3 Punkten im Plan
- Identifikation der Plangleichung in Form a*x+b*y+c*z+d=0.
- die Gleichung des Planes zu finden ein System von Gleichungen von 3 inkognite in matrischer Form (mit Berechnung der Determinanten).
- wenn die Gleichung des Planes gefunden wird, werden die neuen Koordinaten z der Anfangs- und Endpunkte der Zeilen berechnet.
- Sie müssen die Linie regenerieren, indem Sie die Koordinaten z.
Dieses Verfahren hätte einen Code von hundert Zeilen ergeben.

kommt gp und schreibt 3 Zeilen und löst das Problem.
Gp Komplimente, du warst wirklich cool.

Hallo und danke
 
daß die Gp aus der Gemeinde nun umkreist ist :wink:

Ich cmq würde diese 3 Zeilen Code am Ende der Liste hinzufügen (er vergisst immer...)
Code:
(Setvar "cmdecho" 0)
(princ "\nProjekt gekippte Linien - verwenden linp")
(princ "\ngian paolo cattaneo - 15/01/2015)
 
@ betoniera&cristallo

Vielen Dank:

- Identifizierung der Gleichung des Plans..
der Code ist genau die Übersetzung in "lispese":
Berechnung der Quotep1=(x1,y1), p2=(x2,y2), p3=(x3,y3) die drei Vertiken des Dreiecks, in dem der p-Punkt fällt, und z1, z2, z3 die entsprechenden Quoten sein.
die Gleichung des Ablaufplans für die drei in 3d abgebildeten Punkte ist wie folgt:

(x-x1)a + (y1)b + (z-z1)c = 0

wenn = (y1-y2)(z1-z3)-(z1-z2)(y1-y3)
(z1-z2)(x1-x3)-(x1-x2)-(z1-z3)
(x1-x2)(y1-y3)-y1-y2)(x1-x3)
um die beiden Koordinaten (xp,yp) von p zu ersetzen und die z:
z = (xp-x1)a + (yp-y1)b / c ) + z1
verwenden sie normalerweise für die Berechnung von Punkten auf 3dfaces.http://www.disi.unige.it/person/magillop/geomod03/labgeo1.html
 
Hallo an alle
Ich erkläre mein Problem in der Hoffnung, dass die Zauberer der Lispe mir einige Vorschläge geben.
zur Modellierung der Strukturen in den Berechnungsprogrammen ist es notwendig, ein Unifilare-Modell aus nur Linien mit Autocad zu importieren.
die Schwierigkeit liegt darin, dass die Linien der Balken, die beispielsweise auf dem Boden eines unregelmäßigen Daches platziert werden, alle auf dem gleichen Boden bleiben müssen.
Ich dachte an ein Lisp-Programm, das:
- definiert den Projektionsplan über 3 Punkte
- Projektieren Sie die Linien oder Punkte auf dieser Ebene, indem Sie die einzige Koordinaten z (initiativ in Anlage entworfen) ändern.
Ich habe bereits ein Programm, das die Entitäten auf Plan z=0 projiziert.
Ich sollte es anpassen, um die Wesen auf dem Boden zu klopfen. Aber hier gibt es einige Schwierigkeiten, den Plan zu definieren und die neue Quote z des Plans zu berechnen.
Es gibt wahrscheinlich etwas zu arbeiten.
Ich frage daher, ob es schon etwas gibt.
Vielen Dank, wer mir einige Vorschläge geben wird
Hi.
Ihr eigenes Problem, Ich fand den Projektgeometria Befehl von Autocad, das genau das tut, was Sie suchen
 
Ihr eigenes Problem, Ich fand den Projektgeometria Befehl von Autocad, das genau das tut, was Sie suchenHallo rand89
Danke für den Bericht.
Im Gegensatz zu unserem Projektgeometria-Programm, es Projekte Entitäten in einer Region anstatt auf einer generischen Ebene.
aber es ist kein Problem. Erstellen Sie einfach einen und löschen Sie ihn.
Außerdem kann der Befehl sowohl nach der Ansicht als auch nach der z der Ucts projizieren. Also ist es okay.
Hi.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben