| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: getpoint Umgrenzung 3 Punkte (1892 mal gelesen)
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 06:25 <-- editieren / zitieren --> Unities abgeben:
Hallo alle miteinander, versuche 3 Punkte herauszufinden mit Hilfe folgender Zeilen. Dann sollen anhand der 3 Punkte eine Polylinie erstellt werden. Anbei eine Zeichnung als Erklärung. Leider gelingt es mir nicht P2 und p3 herauszufinden. Bitte um eure Hilfe. Lg. Martin Code: Vl-load-com) (defun C l3p (/ pp echo OSM reg minp maxp pmin pmax pxy) (vl-load-com) (setq echo (getvar "CMDECHO")) (setvar "CMDECHO" 0) (setq OSM (getvar "OSMODE")) (setvar "OSMODE" 0) (setq pp (getpoint "\n Geben Sie einen Punkt in der Zelle: ")) (vl-cmdf "-umgrenzung" "O" "I" "N" "" "" pp "") (setq reg (entlast)) (setq vlaobj (vlax-ename->vla-object reg)) ; Umwandlung Bereich in VLA-Objekt. (vla-GetBoundingBox vlaobj 'minp 'maxp) ; Arrays kordinaty Diagonale des Rechtecks. (setq pmin (vlax-safearray->list minp) ;Umwandlung Arrays pmax (vlax-safearray->list maxp) ;die Listen. . pxy (list ;Berechnung der Koordinaten der Mitte des Rechtecks. (+ (car pmin) (/ (- (car pmax) (car pmin)) 2)) (+ (cadr pmin) (/ (- (cadr pmax) (cadr pmin)) 2)) ) ) ; setq (vl-cmdf "_ERASE" reg "") (setq P1 (. . . . . . . . . . . . . . . .)) ;<------??? (setq P2 (. . . . . . . . . . . . . . . .)) ;<------??? (setq P3 (. . . . . . . . . . . . . . . .)) ;<------??? (command "_pline" P1 P2 P3 "") (setvar "CMDECHO" echo) (setvar "OSMODE" OSM) (princ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 01. Okt. 2014 06:40 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 06:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, Guten Morgen, danke für deine Hilfe. Leider versuche ich vergebens deine Hilfe umzusetzen. Code: (command "_pline" pmin ((car(pmax)) (0.5 * [cadr(pmax)) - cadr(pmin)]}) ((car(pmin))(cadr(pmax))) "") Was mache ich hier falsch?? Bitte um Hilfe. Danke! lg. Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 01. Okt. 2014 07:07 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
... geschweifte und eckige Klammern haben im Lispcode nichts zu suchen ... erstes Argument nach der öffnenden Klammer ist die Funktion, alle folgenden sind Argumente der Funktion --> soll heißen: (0.5 * ...) ist unter anderem falsch ... in Lisp ist ein Punkt als Liste 3er Zahlen definiert. Bei dir kann ich kein (list ...) entdecken Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 07:43 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, es geht einfach nicht.....was mach ich falsch? Punkt 2 bringt "Fehler: Fehlerhafte Funktion: (222.477 1583.93 0.0)" Bitte um Hilfe. Danke! lg. Martin code: (command "_pline" pmin (((car(pmax))(+(cadr(pmin))(*(-(cadr(pmax))(cadr(pmin)))0.5)))) ((car(pmin))(cadr(pmax)))"")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 01. Okt. 2014 08:00 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
Moin.... (defun C:l3p(/ pp echo OSM reg minp maxp pmin pmax pxy) (vl-load-com) (setq echo (getvar "CMDECHO")) (setvar "CMDECHO" 0) (setq OSM (getvar "OSMODE")) (setvar "OSMODE" 0) (setq pp (getpoint "\n Geben Sie einen Punkt in der Zelle: ")) (vl-cmdf "-umgrenzung" "O" "I" "N" "" "" pp "") (setq reg (entlast)) (setq vlaobj (vlax-ename->vla-object reg)) (vla-GetBoundingBox vlaobj 'minp 'maxp) (setq pmin (vlax-safearray->list minp) pmax (vlax-safearray->list maxp) ) (vl-cmdf "_ERASE" reg "") (setq P1 PMIN) (setq P2 (list (car PMAX) (+(cadr PMIN)(*(-(cadr PMAX)(cadr PMIN))0.5)))) (setq P3 (list (car PMIN) (cadr PMAX))) (command "_pline" P1 P2 P3 "") (setvar "CMDECHO" echo) (setvar "OSMODE" OSM) (princ) ) ------------------ Also ich finde Unities gut ... und andere sicher auch --------------------------------------- - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 01. Okt. 2014 08:06 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
... die obigen Hinweise sollten eigentlich reichen. Warum hast du die Variablen pmin und pmax immer eingeklammert? erstes Argument nach der öffnenden Klammer ist die Funktion, alle folgenden sind Argumente der Funktion (Funktion Funktionsargument1 .. FunktionsargumentX) --> (car pmin) Ich vermute, du willst mit den zusätzlichen Klammern um die einzelnen Therme eine Liste bauen. Das kann nicht funktionieren, weil {wie oben geschrieben} bei (( nach der ersten öffnenden Klammer eine Funktion fehlt. (es gibt Ausnahmen, das würde es nur verkomplizieren) ... in Lisp ist ein Punkt als Liste 3er Zahlen definiert. Bei dir kann ich kein (list ...) entdecken --> (list (car pmin)(cadr pmax)) Nicht, dass du das falsch verstehst. Ich könnte dir natürlich die korrekte Code-Zeile posten. Da deine Fehler aber aus Unkenntnis der Basics resultieren, halte ich mich da zurück und möchte mit dieser Art des Antwortens erreichen, dass du dich mit den Basics auseinander setzt und verstehst, wie Lisp zu programmieren ist. Hinweise auf Lisp-Seiten findest du hier im Forum sicher reichlich. Grüße! Holger
------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 01. Okt. 2014 08:14 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 08:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, Hallo Thomas, @ Thomas Danke, das Lisp funktioniert super. Danke vielmals! @ Holger Du warst heute aber ein strenger Lehrer... Spass beiseite. Ich habe keinerlei Zweifel an deinem (eurem) Können. Ich habe gemerkt wie du mir langsam versucht hast auf die Sprünge zu helfen. Dafür- und überhaupt für eure Geduld den "Schülern" gegenüber eing großes DANKE. Da mein Beruf Tischler ist, und ich nur bei der Planung mit ACAD nebenbei versuche mit Lisp einige Sachen zu vereinfachen ist mein Wissen leider sehr begrenzt. Danke euch Beiden nochmal. LG Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 08:17 <-- editieren / zitieren --> Unities abgeben:
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 01. Okt. 2014 08:29 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
Zitat: Original erstellt von MARTINLE: ...@ HolgerDu warst heute aber ein strenger Lehrer... Spass beiseite. Ich habe keinerlei Zweifel an deinem (eurem) Können. Ich habe gemerkt wie du mir langsam versucht hast auf die Sprünge zu helfen. Dafür- und überhaupt für eure Geduld den "Schülern" gegenüber eing großes DANKE. ...
Bitte! (es freut mich, das zu lesen) Zitat: Original erstellt von MARTINLE: ... Da mein Beruf Tischler ist, und ich nur bei der Planung mit ACAD nebenbei versuche mit Lisp einige Sachen zu vereinfachen ist mein Wissen leider sehr begrenzt. ...
Gerade dann, wenn du das nur so nebenbei machst (was ich grundsätzlich gut finde, ich habe auch so angefangen), sollten die Basics sitzen. Dann macht auch die internetunterstützte Copy-Paste-Programmierung Spaß und führt sehr schnell zu Erfolgen - auch wenn man nicht bei jeder kopierten Code-Zeile weiß, was da nun eigentlich passiert (was auch ok ist). Grüße! Holger
------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 08:53 <-- editieren / zitieren --> Unities abgeben:
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 14:08 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal, krieg es einfach mit trans nicht hin damit es im BKS auch funktioniert. Bitte um Hilfe. lg. Martin Code: (defun C l3p1(/ pp echo OSM reg minp maxp pmin pmax pxy P1 P2 P3) (vl-load-com) (setq echo (getvar "CMDECHO")) (setvar "CMDECHO" 0) (setq OSM (getvar "OSMODE")) (setvar "OSMODE" 0) (setq pp (getpoint "\n Geben Sie einen Punkt in der Zelle: ")) (vl-cmdf "-umgrenzung" "O" "I" "N" "" "" pp "") (setq reg (entlast)) (setq vlaobj (vlax-ename->vla-object reg)) (vla-GetBoundingBox vlaobj 'minp 'maxp) (setq pmin (vlax-safearray->list minp) pmax (vlax-safearray->list maxp) ;;,,,,,,,,,,,,,,,,,, pxy (list ;Berechnung der Koordinaten der Mitte des Rechtecks. (+ (car pmin) (/ (- (car pmax) (car pmin)) 2)) (+ (cadr pmin) (/ (- (cadr pmax) (cadr pmin)) 2)) ) ;;;,,,,,,,,,,,,,,,,,,, ) (vl-cmdf "_ERASE" reg "") (setq P1 (trans PMIN 1 0));<-----???? (setq P2 (trans (list (car PMAX) (+(cadr PMIN)(*(-(cadr PMAX)(cadr PMIN))0.5))) 1 0));<-----???? (setq P3 (trans(list (car PMIN) (cadr PMAX)) 1 0));<-----???? (command "_pline" P1 P2 P3 "") (setvar "CMDECHO" echo) (setvar "OSMODE" OSM) (princ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 01. Okt. 2014 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
... wenn dann ist das ein logischer Fehler. ohne getestet zu haben, scheint der Code zu funktionieren und ich nehme an, nur das Ergebnis stimmt nicht. Wenn dem so ist, dann würde ich die Parameter der Funktion (trans PUNKT 1 0) ändern zu (trans PUNKT 0 1). Denn ich denke, dass (die Ermittlung der Boundingbox immer WCS-Punkte zurück gibt und du im UCS-Zeichnen willst. Dann muss bei (trans ..) die Umrechnung von Welt in UCS erfolgen: 0 = Welt 1 = UCS Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 14:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, Danke für deine Hilfe. Leider funktioniert es nicht. Es wird zwar die Polylinie schön im Rechteck gezeichnet aber immer im Bezug auf das WKS. Wenn ich das Lisp also im WKS ausführe ist der Spitz der Polyline rechts. Wenn ich nun das BKS und die Ansicht um 90 ° drehe dann das Lisp ausführe, dann ist der Spitz unten. Er sollte aber auch rechts sein. lg. Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 01. Okt. 2014 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 14:58 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, jetzt wird es irgendwo gezeichnet, nur nicht wo ich es haben will. lg. Martin Code: (defun C l3p1(/ pp echo OSM reg minp maxp pmin pmax pxy P1 P2 P3) (vl-load-com) (setq echo (getvar "CMDECHO")) (setvar "CMDECHO" 0) (setq OSM (getvar "OSMODE")) (setvar "OSMODE" 0) (setq pp (getpoint "\n Geben Sie einen Punkt in der Zelle: ")) (vl-cmdf "-umgrenzung" "O" "I" "N" "" "" pp "") (setq reg (entlast)) (setq vlaobj (vlax-ename->vla-object reg)) (vla-GetBoundingBox vlaobj 'minp 'maxp) (setq pmin (trans(vlax-safearray->list minp)0 1) pmax (trans(vlax-safearray->list maxp)0 1) ) (vl-cmdf "_ERASE" reg "") (setq P1 (trans PMIN 0 1)) (setq P2 (trans (list (car PMAX) (+(cadr PMIN)(*(-(cadr PMAX)(cadr PMIN))0.5))) 0 1)) (setq P3 (trans(list (car PMIN) (cadr PMAX)) 0 1))
(command "_pline" P1 P2 P3 "") (setvar "CMDECHO" echo) (setvar "OSMODE" OSM) (princ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 01. Okt. 2014 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 01. Okt. 2014 15:20 <-- editieren / zitieren --> Unities abgeben:
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 02. Okt. 2014 12:59 <-- editieren / zitieren --> Unities abgeben:
Hallo alle miteinander, ich bins noch mal. Ich hoffe ich gehe euch nicht auf die Nerfen. Hab noch mal eine Zeichnung beigelegt. Ich versuche das gestern gelernte so umzusetzen, damit die Polylinie wie in der Zeichnung erstellt wird. Dies sollte WKS und auch im UCS funktionieren. Doch leider tut es das nicht. P1 und P3 werden richtig erstellt. Nur der P2 will einfach nicht funktionieren. Nach meiner Logik müsste P2 doch passen! Aber ACAD läßt da nicht mit sich reden Bitte nochmal um Hilfe. Code: (defun c l3po (/ pp echo OSM reg minp maxp pmin pmax pxy P1 P2 P3 malayer Dummy) (vl-load-com) (setq malayer (getvar "clayer")) (setq echo (getvar "CMDECHO")) (setvar "CMDECHO" 0) (setq OSM (getvar "OSMODE")) (setvar "OSMODE" 0) (Command "-layer" "ei" "Strichpunkt" "") (while (/= (getvar "CMDACTIVE") 0) (command pause)) (setvar "clayer" "Strichpunkt") (setq pp (getpoint "\n Geben Sie einen Punkt in der Zelle: ")) (vl-cmdf "-umgrenzung" "O" "I" "N" "" "" pp "") (setq reg (entlast)) (setq vlaobj (vlax-ename->vla-object reg)) (vla-GetBoundingBox vlaobj 'minp 'maxp) (setq pmin (trans (vlax-safearray->list minp) 0 1) pmax (trans (vlax-safearray->list maxp) 0 1) ) (vl-cmdf "_ERASE" reg "") (if (> (car pmin) (car pmax)) (progn (setq DUMMY PMIN) (setq PMIN PMAX) (setq PMAX DUMMY) ) ) (setq P1 (list (car PMIN) (cadr PMAX))) (setq P2 (list (+ (cadr PMIN) (* (- (cadr Pmin) (cadr Pmax)) 0.5));;;;;;;;;;;;;;----------ist hier das Ei versteckt?? (cadr Pmin) ) ) (setq P3 Pmax) (command "_pline" P1 P2 P3 "") (setvar "CMDECHO" echo) (setvar "OSMODE" OSM) (setvar "clayer" malayer) (princ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 02. Okt. 2014 13:31 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 02. Okt. 2014 13:41 <-- editieren / zitieren --> Unities abgeben:
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 03. Okt. 2014 06:51 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, Durch ändern von car auf cadr----(if (> (cadr pmin) (cadr pmax))-----hab ich es soweit geschafft, damit die Polylinie richtig erstellt wird. Somit funktioniert es im WKS und im BKS wenn ich es um 90° drehe. Wenn ich aber irgendwo im BKS unterwegs bin (ander Grad) werden die Punkte nicht richtig ausgegeben. die Polylinie wird nicht an den angegebenen Punkten erstellt. Ich vermute, dass der Fehler irgendwo bei der Erstellung der Umgrenzung bzw. bei deren Umrechnung der Punkte liegt. Kann mir da jemand bitte weiterhelfen? Lg. Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 03. Okt. 2014 07:06 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
Hallo Martin, deine Vermutung ist richtig. Die Boundingbox berücksichtigt keine Drehung der Objekte, die wird immer parallel zum WCS ausgegeben. Du müsstest dann zunächst die Drehung herausfinden, dann die Objekt-Drehung auf 0 setzen, und dann kannst du mit deinem Tool loslegen. Danach die Original-Drehung wieder setzen, natürlich auch für deine Polylinie. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 03. Okt. 2014 07:09 <-- editieren / zitieren --> Unities abgeben:
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 03. Okt. 2014 07:19 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
... nun, ich kenne deine Ausgangslage nicht, weiß nicht, um welche Objekte du die Boundingbox legst. Bei einem Block ist das ja sehr einfach, herauszufinden, mit welcher Drehung dieser eingefügt ist. Bei anderen Objekten kann es da schon schwierig(er) sein. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 03. Okt. 2014 07:22 <-- editieren / zitieren --> Unities abgeben:
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 03. Okt. 2014 07:31 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
... ist das dein Ernst? Wozu dann dieser ganze Zinnober mit der Boundingbox? So eine rechteckige Polyline liefert dir doch alles was du brauchst auf dem Silbertablett. Ich zerlege dir die Aufgabe mal in Teilaufgaben (1) Punkte der Polyline ermitteln (2) durch Vergleichen der Koordinaten die Punkte so sortieren, dass du den Punkt unten Links als ersten hast PUL PUR POR POL (3) Mittelpunkt PUR POR berechnen --> PM (4) Polyline von PUL PM POL Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 03. Okt. 2014 07:38 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, "Zinnober" ist gut. Sagt man bei uns auch. Die Umgrenzung ist deshalb besser, weil ich sehr viele Rechtecke sehr nahe beieinander stehen. Jedes Rechteck kann eine unterschiedliche Ausrichtung der Polylinie haben. Jedes Rechteck einzeln zu wählen wäre(ist) sehr mühsam. Deshalb versuche ich es mit der Umgrenzung. Lg. Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 03. Okt. 2014 07:47 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
... bevor sich das hier zum Chat entwickelt. Nach 08:00Uhr erreichst du mich telefonisch im Büro. Deine Ausführungen sind doch sehr ungenau und verwirrend. Rechteck gibt es nicht als Objekt - sind das geschlossene Polylines? Und man kann ganz sicher alle Rechtecke mit einer Zeile Code einsammeln: Code: (ssget "_X" '((0 . "LWPLOYLINE")))
Ich habe das Gefühl, dass dein Ansatz schon nicht optimal gewählt wurde (was auch normal ist, wenn man die Möglichkeiten nicht kennt oder sich an den Möglichkeiten orientiert, die man kennt). Genau in diesem Punkt sehe ich mein 1. Aufgabe als Softwareentwickler: Den Auftraggebern bei der Formulierung der Aufgabenstellung helfen - losgelöst von dem, was der AG glaubt, was möglich ist. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Werkstudent TGA im Bereich Heizungs-, Lüftungs-, Sanitär- und Klimatechnik (m/w/d) | Seit über 40 Jahren stehen wir bei der ZWP Ingenieur-AG für kosten- und ressourcenschonendes Bauen von morgen. Unsere über 400 Mitarbeiter:innen an 8 Standorten setzen mit maßgeschneiderten Lösungen neue und effektive Standards in der umweltgerechten Gebäudetechnik. Wir machen Bürogebäude und Einkaufszentren ebenso wie Museen, Schulen und Kliniken im In- und Ausland fit für die Zukunft ? das eröffnet ... | Anzeige ansehen | Elektrik, Sanitär, Heizung, Klima |
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 03. Okt. 2014 07:50 <-- editieren / zitieren --> Unities abgeben:
|