| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Start-/Endpunkt Polylinie (2031 mal gelesen)
|
rem2k8 Mitglied Techniker
Beiträge: 12 Registriert: 18.11.2008 ACAD 20xx (Dank Subscription immer die aktuelle)
|
erstellt am: 17. Mrz. 2011 13:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Lisp-Profis Bin gerade dabei, ein Makro zum zeichnen von Blechen im Querschnitt zu proggen. Nach Aufruf des Makros zeichne Ich einen Polylinienzug - gebe eine Versetzrichtung an und versetze die Polylinie um die vorher definierte Blechstärke. Nun möchte Ich die jeweiligen Start -und Endpunkte miteinander verbinden. Wie bekomme Ich nun Start- und Endpunkt bei der durch versetzen gezeichneten Polylinie? Bin hier im Moment komplett auf dem Holzweg. - Mario - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 17. Mrz. 2011 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für rem2k8
|
thors-hammer Mitglied technischer Angestellter
Beiträge: 19 Registriert: 25.10.2006 AutoCAD 2012, Windows 7 (64bit)
|
erstellt am: 17. Mrz. 2011 14:10 <-- editieren / zitieren --> Unities abgeben: Nur für rem2k8
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 17. Mrz. 2011 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für rem2k8
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 17. Mrz. 2011 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für rem2k8
ach so .... na da kann ich schnell was von der Platte anpassen: (defun C:BLECH (/ PL BREITE VLA-PL PL1 PL2 OLDCMD oldosm) (if(and(setq PL (car(entsel "\n LWPolylinie wählen: "))) (setq BREITE (getreal "\n BLECHDICKEe : ")) (=(cdr(assoc 0(entget PL))) "LWPOLYLINE") ) (progn (setq VLA-PL (vlax-ename->vla-object PL)) (setq PL1(car(vlax-safearray->list(vlax-variant-value(vla-offset VLA-PL (/ BREITE 2.0)))))) (setq PL2(car(vlax-safearray->list(vlax-variant-value(vla-offset VLA-PL (/ BREITE -2.0)))))) (vla-addvertex PL1 0 (vla-get-coordinate PL2 0)) (vla-setbulge PL1 (1-(/(length(vlax-safearray->list(vlax-variant-value(vla-get-coordinates PL1))))2))0) (vla-addvertex PL1 (/(length(vlax-safearray->list(vlax-variant-value(vla-get-coordinates PL1))))2) (vla-get-coordinate PL2 (1-(/(length(vlax-safearray->list(vlax-variant-value(vla-get-coordinates PL2))))2)) ) ) (vla-delete VLA-PL) (setq OLDCMD(getvar "cmdecho")) (setq OLDOSM(getvar "osmode")) (setvar "cmdecho" 0) (setvar "osmode" 0) (vl-catch-all-apply 'vl-cmdf (list "_pedit" (vlax-vla-object->ename PL1) "_j" (vlax-vla-object->ename PL2)"" "") ) (setvar "cmdecho" oldcmd) (setvar "osmode" oldosm) ) ) (princ) ) ------------------ - 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 |
rem2k8 Mitglied Techniker
Beiträge: 12 Registriert: 18.11.2008 ACAD 20xx (Dank Subscription immer die aktuelle)
|
erstellt am: 17. Mrz. 2011 14:47 <-- editieren / zitieren --> Unities abgeben:
@cadmium GC nehme Ich an = Gruppencode? Wie sieht so eine Schleife aus, in der ich an den 1. und letzten GC 10 komme? @thors-hammer Das mache Ich derzeit. Ich möchts nur einfach gerne etwas eleganter haben und in weiterer folge auch die Biegeradien draufbringen. (Zusatzapplikationen wie Athena, Syscad,... kommen leider nicht in Frage) @jörn + cadmium Leider Absturz mit: ; Fehler: no function definition: VLAX-ENAME->VLA-OBJECT Bin leider noch ziemlicher Newbie, was LISP angeht und daher noch etwas wackelig auf den Beinen. - Mario - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 17. Mrz. 2011 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für rem2k8
|
rem2k8 Mitglied Techniker
Beiträge: 12 Registriert: 18.11.2008 ACAD 20xx (Dank Subscription immer die aktuelle)
|
erstellt am: 17. Mrz. 2011 15:12 <-- editieren / zitieren --> Unities abgeben:
@cadmium Funktioniert. Der andere Weg mit den GC's würde mich trotzdem interessieren. Wie lese ich in einer Schleife (nehme ich an) die einzelnen GC's aus und speichere 1. und letzten in entsprechende Variabeln? In VBA wär das für mich alles kein Problem aber wie gesagt -> Lisp lerne ich gerade autodidakt. LG, Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 17. Mrz. 2011 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für rem2k8
|
rem2k8 Mitglied Techniker
Beiträge: 12 Registriert: 18.11.2008 ACAD 20xx (Dank Subscription immer die aktuelle)
|
erstellt am: 17. Mrz. 2011 15:33 <-- editieren / zitieren --> Unities abgeben:
Oh Mann - jetzt kommts dicke. mapcar und lambda - ich habs befürchtet. Trotzdem aufgrund der Schritt für Schritt-Variante super nachvollziehbar obwohl ich mich mit den ganzen vl(ax) noch nicht so auskenne. Trotzdem Danke für die tollen Beispiele. LG, Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 17. Mrz. 2011 15:46 <-- editieren / zitieren --> Unities abgeben: Nur für rem2k8
|