| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Mehrere Basispunkte! (876 mal gelesen)
|
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 28. Feb. 2004 13:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe eine Meßstelle als Block mit einem Basispunkt. Beim Einfügen als Block hängt die Meßstelle mit dem Basispunk am Cursor. Da die Meßstelle aber mal unten/oben/links/recht an eine Leitung angesetzt werden muss, wäre es schön wenn man z.B. mit einer Taste alle diese Punkte vor dem Einfügen in der Zeichnung anwählen könnte (der Cursor springt dann auf diese Stelle!). Besteht eine Möglichkeit dieses durch irgendeine Maßnahme (Umbau der Meßstelle) zu realisieren? Für Eure Bemühungen bedanke ich mich schon im Voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 28. Feb. 2004 20:41 <-- editieren / zitieren --> Unities abgeben: Nur für vision
Jede Blockdefinition speichert praktisch ihr eigenes Koordinatensystem, nachdem dann die Lage der einzelnen Blockelement im Block abgespeichert wird. Somit gibt es je Block nur einen Basispunkt. Für dein Problem gibt es nun die Möglichkeit, 4 verschiedene Blöcke mit jeweils einen anderen Basispunkt zu definieren, oder, als 2., einen Block zu haben , dessen Referenz nach dem Absetzen entsprechend verschoben wird. Beides ist ohne weitere möglich. ------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, ..., AutoCADs 200X, SWX 2kX
|
erstellt am: 29. Feb. 2004 14:38 <-- editieren / zitieren --> Unities abgeben: Nur für vision
du könntest auch den Basispunkt des Blockes auch mit diesem Lisp-Code nachträglich ändern, jedoch ist die 4-Blöcke Variante etwas besser. ------------------ "Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?" Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 29. Feb. 2004 17:27 <-- editieren / zitieren --> Unities abgeben:
Hallo, die Variante mit vier Blöcken ist nicht so praktikabel. Den Basispunkt zu verschieben hat den Nachteil, dass sich das dann auf allen Blockreferenzen des Meßstellenblocks in der Zeichnung mit ändern. Wär es denn nicht möglich an den vier Stellen z.B. Punkte zu setzen und diese dann für den Cursor zu nehmen? Eine indirekte Vorgehensweise wäre z.B. per Lisp denkbar: - den Block in der Zeichnung einfügen - den Block aktiv machen - den Fang auf Mittelpunkt u. Endpunkt - den _move Befehl starten - einen der vier Fangpunkte auswählen - den Block an die gewünschte verschieben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 29. Feb. 2004 18:08 <-- editieren / zitieren --> Unities abgeben:
Hallo, eine zusätzliche Frage: Mit command "_move" verschiebe ich den Block. Hierbei wird der Basispunkt u. der zweite Punkt der Verschiebung angeben. Besteht eine Möglichkeit diese beiden Punktkoordinat abzufragen um damit sofort eine Anschlußlinie zu zeichnen?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 29. Feb. 2004 21:50 <-- editieren / zitieren --> Unities abgeben: Nur für vision
Definier mal deinen Block so, daß der Basispunkt genau mittig ist, dann meß ihn aus und schreibe Breite und Höhe in folgendes Lisp. Wenn dann ser Block in der Zeichnung vorhanden ist, kannst du die Refernzen mit entsprechenden Einfügepunkt mit dem Lisp erstellen. (defun c:4PKT-INSERT () (setq BLOCKNAME "Test") ; hier deine Werte reinschreiben (setq BLOCKBREITE 20) (setq BLOCKHOEHE 10) (setq PKT (getpoint "Einfügepunkt : ")) (initget "R L O U") (if (not(setq MOD(getkword "\nAusrichtung [R]echts/[L]inks/[O]ben/[U]nten <L>"))) (setq MOD "L") ) (cond ((= MOD "R") (setq PKT (mapcar '- PKT (list (/ BLOCKBREITE 2.0) 0.0 0.0)))) ((= MOD "L") (setq PKT (mapcar '+ PKT (list (/ BLOCKBREITE 2.0) 0.0 0.0)))) ((= MOD "O") (setq PKT (mapcar '- PKT (list 0.0 (/ BLOCKHOEHE 2.0) 0.0)))) ((= MOD "U") (setq PKT (mapcar '+ PKT (list 0.0 (/ BLOCKHOEHE 2.0) 0.0)))) ) (if (tblsearch "BLOCK" BLOCKNAME) (progn (entmake (list '(0 . "INSERT") '(100 . "AcDbEntity") (cons 8 (getvar "CLAYER")) '(100 . "AcDbBlockReference") (cons 2 BLOCKNAME) (cons 10 PKT) '(41 . 1.0) '(42 . 1.0) '(43 . 1.0) '(50 . 0.0) '(70 . 0) '(71 . 0) '(44 . 0.0) '(45 . 0.0) '(210 0.0 0.0 1.0) ) ) ) ) )
------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 01. Mrz. 2004 13:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, vielen Dank für Deine Zeit u. Mühe für das Programm. So wie es funktioniert, ist es OK. Ich werde noch versuchen, um diesen Versatz, eine Anschlußlinie an der richtigen Seite zu Zeichnen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |