| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Polylinien bis zu einem Grenzpolygon verlängern (1496 mal gelesen)
|
captainfritz Mitglied Bauingenieur/Wasserbau
Beiträge: 270 Registriert: 07.05.2004 AutoCAD 2005/2006/2007 Map, AutoTerrain, bbsoft, Geotools, Windows XP
|
erstellt am: 10. Mrz. 2005 10:58 <-- editieren / zitieren --> Unities abgeben:
Hat jemand eine Idee, wie ich eine Schar von Polylinien bis zu einem Grenzpolygon auf EINMAL verlängern kann. Also ähnlich _extrim aus den ExpressTools - bloß eben nicht stutzen sondern dehnen. Cadmandu hat zwar das Tool EANM_TRIMEXT, aber das ist zu umständlich, wenn die Linien wie im Bsp-jpg "wirr herumliegen" Danke schon mal ------------------ mit CADzerischen Grüßen Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 10. Mrz. 2005 11:09 <-- editieren / zitieren --> Unities abgeben: Nur für captainfritz
Wie wärs mit der Befehlsoption Zaun beim Selektieren der Objekte ? Dann kannst du alle Objekte selektieren und es sollten auch alle verlängert werden (musst allerdings aufpassen, dass die Variable EDGEMODE ausgeschalten ist, sonst gibts Probleme (bzw Fehler) beim Verlängern). ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
captainfritz Mitglied Bauingenieur/Wasserbau
Beiträge: 270 Registriert: 07.05.2004 AutoCAD 2005/2006/2007 Map, AutoTerrain, bbsoft, Geotools, Windows XP
|
erstellt am: 10. Mrz. 2005 11:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, mal probiert?? mit dem normalen extend befehl kann ich jeweils nur EIN Objekt anklicken, dass verlängert werden soll. Die Übergabe einer vorherigen Auswahl (durch Zaun o.ä.) funktioniert nicht. ------------------ mit CADzerischen Grüßen Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 10. Mrz. 2005 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für captainfritz
Ja - probiert ! (ich probier immer alles vorher aus...) Nicht vorher wählen, sondern _extend aufrufen, Grenze wählen und dann mittels _fence (Zaun) die zu verlängernden Objekte selektieren. Probiers mal so - sollte auch bei dir klappen. ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
captainfritz Mitglied Bauingenieur/Wasserbau
Beiträge: 270 Registriert: 07.05.2004 AutoCAD 2005/2006/2007 Map, AutoTerrain, bbsoft, Geotools, Windows XP
|
erstellt am: 10. Mrz. 2005 11:58 <-- editieren / zitieren --> Unities abgeben:
Ok, geht so ist doch aber trotzdem blöd, da ich nicht alle zu verlängernden Linien manuell kreuzen möchte (und dann auch noch mehrmals, damit in beide Richtungen verlängert wird!). sollte doch irgendwie so funktionieren wie extrim. also alle Plines innerhalb der Polylinie bis zu dieser verlängern ------------------ mit CADzerischen Grüßen Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thoumsen Mitglied Konstrukteur Metallbau, Betriebsinformatiker, usw usw..
Beiträge: 100 Registriert: 25.11.2003 ...
|
erstellt am: 10. Mrz. 2005 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für captainfritz
also ich habs in wenigen schritten hinbekommen.. befehle: länge delta 5000 (ein fiktiver wert damit ich über das aussenpolygon weit genug herauskomme) zaun (alle gewählten linien werden auf der einen seite verlängert) zaun (alle gewählten linien werden auf der anderen seite verlängert) stutzen (aussenpolygon wählen) zaun (einmal aussen herum und alle linien werden auf der einen seite gestutzt) zaun (nochmal aussen herum und alle linien werden auf der andern seite gestutzt) ..fertig gruss... thoumsen
------------------ >> fanatismus ist der tod jeder guten idee << Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 10. Mrz. 2005 12:10 <-- editieren / zitieren --> Unities abgeben: Nur für captainfritz
|
captainfritz Mitglied Bauingenieur/Wasserbau
Beiträge: 270 Registriert: 07.05.2004 AutoCAD 2005/2006/2007 Map, AutoTerrain, bbsoft, Geotools, Windows XP
|
erstellt am: 10. Mrz. 2005 12:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, das könnte mit mex klappen, wenn da nicht wieder der Lispler unsauber seine Befehle eingegeben hätten - also bei mir gehts nicht. Und da ich von lips keine Ahnung weiß ich auch nicht, wo überall ein _ vorgesetzt werden muss :-( @thoumsen klar geht das auch so, aber so ein workaround is halt around -dauert also länger ------------------ mit CADzerischen Grüßen Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 10. Mrz. 2005 13:40 <-- editieren / zitieren --> Unities abgeben: Nur für captainfritz
Hi Matthias, ganz einfach: Öffne das LSP in einem Texteditor (Notepad zB) und setze vor jedem Befehl der in einer Zeile mit command vorkommt einen _ - dann läuft's auch bei dir. anbei die Korrektur der benötigten Zeilen: in Zeile 17: (command "_select" pause) in Zeile 25: (command "_select" pause) in Zeile 30: (command "_extend" dann sollte es laufen (hab leider kein deutsches ACAD mit dem ich es testen könnte...) ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
captainfritz Mitglied Bauingenieur/Wasserbau
Beiträge: 270 Registriert: 07.05.2004 AutoCAD 2005/2006/2007 Map, AutoTerrain, bbsoft, Geotools, Windows XP
|
erstellt am: 10. Mrz. 2005 14:45 <-- editieren / zitieren --> Unities abgeben:
Danke Thomas für deine Mühe, aber das hatte ich schon eigenständig gemacht (habe ich irgendwann mal hier im Forum gelesen) trotzdem bleibt noch folgende Fehlermeldung... MEX . . Fehlerhafte Zeichenfolge für ssget-Modus wer kann mir da noch ein tipp geben? ------------------ mit CADzerischen Grüßen Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 10. Mrz. 2005 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für captainfritz
|
captainfritz Mitglied Bauingenieur/Wasserbau
Beiträge: 270 Registriert: 07.05.2004 AutoCAD 2005/2006/2007 Map, AutoTerrain, bbsoft, Geotools, Windows XP
|
erstellt am: 10. Mrz. 2005 15:12 <-- editieren / zitieren --> Unities abgeben:
Danke Thomas, jetzt gehts, wieder was gelernt. folgt nach ssget "irgendwas" muss ein _ vor irgendwas. Gibts da noch mehr zu beachten, falls man unsaubere lsp im deutschen Acad lauffähig machen will. bloß... das tool funktioniert dann auch nicht anders als das von cadmandu... naja muss ich wohl mit leben ------------------ mit CADzerischen Grüßen Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
flaschenpost Mitglied Architekt
Beiträge: 497 Registriert: 29.09.2004 ADT 2004 / Windows XP
|
erstellt am: 10. Mrz. 2005 21:45 <-- editieren / zitieren --> Unities abgeben: Nur für captainfritz
Hallo Matthias, schau mal, ob Dir das etwas hilft: (defun c:LPD (/ lin_wahl projobj lin lin_cd apu epu) (while (= (setq projobj (entsel "\n\nProjektions-Objekt wählen :")) nil) (prompt "\nKein Objekt gewählt !") ) (redraw (car projobj) 3) (prompt "\nLinien wählen, die gedehnt werden sollen !") (setq lin_wahl (ssget '((0 . "LINE,LWPOLYLINE")))) (redraw (car projobj) 4) (setq n -1) (repeat (sslength lin_wahl) (setq lin (ssname lin_wahl (setq n (1+ n)))) (setq lin_cd (entget lin)) (setq apu (cdr (assoc 10 lin_cd))) ;(setq apu (append apu (if (= (length apu) 2) (list 0.0)) )) (if (= (setq epu (cdr (assoc 11 lin_cd))) nil) (setq epu (cdr (assoc 10 (reverse lin_cd)))) );if (command "_.draworder" lin "" "_F") (command "_.extend" projobj "" apu epu "") );repeat (princ) ) Gruß Carsten
[Diese Nachricht wurde von flaschenpost am 10. Mrz. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
captainfritz Mitglied Bauingenieur/Wasserbau
Beiträge: 270 Registriert: 07.05.2004 AutoCAD 2005/2006/2007 Map, AutoTerrain, bbsoft, Geotools, Windows XP
|
erstellt am: 11. Mrz. 2005 11:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Carsten, ich habs gewusst! irgendjemand bekommt das hier hin... Thanx P.S.1 läuft das denn auch unter einem französischen AC oder wo müssen da wieder _ gesetzt werden P.S.2 gibts denn im Rahmen der Europäisierung noch keine lsp-Konventionen ;-) ------------------ mit CADzerischen Grüßen Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
flaschenpost Mitglied Architekt
Beiträge: 497 Registriert: 29.09.2004 ADT 2004 / Windows XP
|
erstellt am: 11. Mrz. 2005 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für captainfritz
Nach berechtigter Kritik bemühe ich mich, bei Command-Befehlen nur noch Originalbefehle zu verwenden. Und dann läuft es überall. (Wenn ich's mal übersehen sollte, dann wars die 'Macht der Gewohnheit') Gruß Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |