|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
cadplayer am 15.02.2013 um 12:52 Uhr (0)
Hallo Ernst! Nja ich glaube ich muss einen anderen Weg gehen, da die Blöcke samt Attribut verschiedene Drehungen haben, geht das so glaube ich nicht. Ich finde bis jetzt nichts genaues, wie man mit dem GC 210 umgeht, der in beiden Objekten drinsteht ...------------------Gruss Dirkhttp://cadplayerlounge.blogspot.se
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
jupa am 15.02.2013 um 13:28 Uhr (0)
Hallo Georg, nix gegen gelegentliche Tippfehler, aber könntest Du uns den Gefallen tun, bevor Du Deine Postings absendest mal eine Rechtschreibprüfung (und -korrektur!) drüberlaufen zu lassen?Danke Jürgen
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
georg35 am 15.02.2013 um 17:55 Uhr (0)
Hi, ja Rechtschreibung das ist aber nicht das Thema! :-)aber ich werde mich bemühen!!ja bei mir funktionieren die beiden Lisps....
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
Geos am 15.02.2013 um 18:01 Uhr (0)
Dirk, ich weiß nicht, was Du vor hast, aber (angle)/(distance)-(polar) oder (trans) könnte auch weiterhelfen...?------------------Schöne GrüßeErnst www.geopaint.at
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
cadplayer am 15.02.2013 um 20:56 Uhr (0)
Mein Vorhaben ist, sobald ich die Position eines Attrib im Block verschiebe, das kommt häufiger vor, möchte ich die Verschiebung gleich auf andere Attrib übertragen. Da die Koord.unterschiede nicht gleich sind zw. BlockInsertpkt und AttribInsertPkt sobald die Blöcke gedreht sind muss ich eine Transform rechnen lassen bezüglich auf das OCS des Attrib zum BlockInsertPkt. Der GC 210 liefert dazu ein matrix mit der ich nicht umzugehen weiss. Also im Klartext was bedeutet (210 0.0 0.0 1.0). Bin in der Hilfe nic ...
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
cadffm am 15.02.2013 um 21:38 Uhr (0)
0 0 1 bedeutet: Das OCS ist parallel zum WKS,aber das ist offenbar (NOCH) nicht dein Problem Oben wurde es bereits geschrieben: POLAR ANGLE DISTANCE sind wohl die Funktionen die benötigt werdenum erst mal den Anfang zu finden.Einfachstes Testszenario zum Anfang: keine Drehung, Skalierung=1, alles im WKS:Insert Koordinate 5,7Attrib Koordinate 5,2Ermittle den Abstand und den Winkel vom InsertBP zum AttribBP.Abstand 5.0Winkel 270° - Aber HIER wird wohl bereits deine erste Aufgabe sein denn DXF kennt keine 2 ...
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
georg35 am 16.02.2013 um 09:10 Uhr (0)
HI,mit Befehl: Liste und dann aufs Attribute gibt das die Aufstellung unten.Brauche dann nur das unten Fett markierte auf den anderen Block Übertragen!?Oder?Code:BLOCKREFERENZ Layer: "0" Bereich: Modellbereich Farbe: 1 (rot) Linientyp: "VONLAYER" Referenz = 1f1 Blockname: "eee" bei Punkt, X=1860.0112 Y=2588.2213 Z= 0.0000 X-Skalierfaktor: 1.0000 Y-Skalierfaktor: 1.0000 Drehwinkel: 0 Z-Skalierfaktor: 1.0000 EinfEinheiten: MillimeterEinheitenkonvertierung: ...
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
cadplayer am 18.02.2013 um 14:02 Uhr (0)
Ich hab das ganze jetzt mal mit einer GeradenschnittMethode umgesetzt. Es läuft noch nicht so wie es soll. Dennoch will ich es hier mal zum Testen reinstellen. Es ist auf den ersten Blick ein Wirrwar von Variablen - verbessungswürdig, desweiteren müsste eigentlich gesagt werden, wie das Attribut von seiner Ursprungsposition verschoben wurde.Vielleicht kennt einer einen besseren Weg das auszumerzen.Code:(defun _selectAtt (InsObj / ) (if (setq InsObj (entsel "Insert wählen: ")) (setq InsObj (entget (car Ins ...
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
georg35 am 18.02.2013 um 17:36 Uhr (0)
QuellInsert wählen: ; Fehler: Fehlerhafter Argumenttyp: 2D-/3D-Punkt: nil
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
cadplayer am 19.02.2013 um 09:44 Uhr (0)
Hallo !Den letzten Vorschlag von Geos und cadffm habe ich jetzt mal umgesetzt, soweit funktioniert es wenn die Blöcke keine Verdrehung haben. Also stehe ich vor dem Problem, wie ich den Winkel und Strecke von Blockeinfügepunkt zum Attributeinfügepunkt bekomme.------------------Gruss Dirkhttp://cadplayerlounge.blogspot.se
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
joern bosse am 19.02.2013 um 10:04 Uhr (0)
Hallo Dirk,vielleicht liege ich auch vollig daneben, ich habe den Beitrag nur überflogen.(mapcar - (cdr(assoc 10 AttEntList))(cdr(assoc 10 BlockEntList)))(angle (cdr(assoc 10 BlockEntList))(cdr(assoc 10 AttEntList)))------------------viele GrüßeJörnhttp://www.bosse-engineering.comKoordinatenausgabe Youtube[Diese Nachricht wurde von joern bosse am 19. Feb. 2013 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
cadplayer am 19.02.2013 um 10:29 Uhr (0)
Danke Jörn, deine zwei Funktionen liefern mir einmal die Koordinatenunterschiede zw BlockPkt und AttribPkt und dann den Winkel.Ein bissel schwierig ist das nächste Problem auf das meine Frage galt, wenn die Blöcke gedreht sind können im (ich betone im Objekt UCS) die Koordinatenunterschiede und Winkel gleich sein. Also sollte die übertragung der AttribPosition auf die Zielblöcke gleich ausfallen. Tut es bei mir aber nicht.Ich weiss nur nicht wie ich das einbauen kann. Frage: Wie bekommt man die Koordinaten ...
|
In das Form Lisp wechseln |
|
Lisp : Hilfe bei lisp! Block Attrtibute rotation und position!
joern bosse am 19.02.2013 um 10:53 Uhr (0)
Hallo Dirk,wieder nur eine Antwort auf Verdacht:[Drehung Block 1]: (cdr(assoc 50 Block1EntList))[Drehung Block 2]: (cdr(assoc 50 Block1Entlist))Winkel von Block 1 nach Attribut: [Winkel Block1-Att](angle (cdr(assoc 10 BlockEntList))(cdr(assoc 10 AttEntList)))Übertragen auf Block 2:[Drehung Block 2] + [Winkel Block1-Att]Das müßte eigentlich funktionieren.------------------viele GrüßeJörnhttp://www.bosse-engineering.comKoordinatenausgabe Youtube
|
In das Form Lisp wechseln |