| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Z-Koordinaten von Punkten ändern (274 mal gelesen)
|
oandres Mitglied
Beiträge: 80 Registriert: 24.05.2004 Windows XP Acad 2004
|
erstellt am: 11. Sep. 2004 17:15 <-- editieren / zitieren --> Unities abgeben:
Hallo, da ich hier schon oft Hilfe gefunden habe, hoffe ich auch dieses Mal... Ich habe mehrere Punkte (ca. 1000) mit unterschiedlichen Z-Werten, die ich um X Zentimeter nach oben bzw. unten versetzen will/muss. Damit man sich das besser vorstellen kann: Es handelt sich um einen Plan/Modell einer Strasse das als Grundlage zur Steuerung einer GPS gesteuerten Raupe dient, die entsprechend dem Modell die Höhe des Schildes einstellt. Die Höhen des vorliegenden Plans sind NN-Höhen und sollen entsprechend angepasst werden. Die Höhe manuell anzupassen ist bei der großen Anzahl von Punkten SEHR zeitraubend. Gibt es vielleicht eine Möglichkeit über ein entsprechendes Lisp diese Aufgabe zu bewältigen ? Ich stelle mir das so vor: - Punkte markieren, deren Höhe um z.B. 0,5 m nach unten versetzt werden sollen - Abfrage wieviel höher oder niedriger die Punkte gesetzt werden sollen - Lisp berechnet aus der vorhandenen NN-Höhe die neue Höhe und setzt die Punkte entsprechend Hat jemand von Euch sowas in der Schublade rumliegen ? Gibts vielleicht eine Möglichkeit mit den Boardmitteln von ACAD sowas zu bewerkstelligen ? Danke für Eure Hilfe im Voraus ! Gruß Olli -
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: 11. Sep. 2004 18:00 <-- editieren / zitieren --> Unities abgeben: Nur für oandres
Hallo, hab zwar kein Lisp für dich, aber um den Teil deiner Frage zu beantworten: Lisp berechnet aus der vorhandenen NN-Höhe die neue Höhe und setzt die Punkte entsprechend Verwende für diesen Teil deines Problems doch die relative Koordinateneingabe. Vorgehensweise: - markiere deine Linie (nun hast du die Grips - blaue Punkte) - die zum verschiebenden Punkte markiere mit gehaltener Umschalt-Taste (alle gewählten Punkte werden rot; sind heiss) - nun selektiere einen dieser Punkte und gib in der Befehlszeile @0,0,.5 (.5 als Beispiel für Verschiebung um 0.50m nach oben) ein Alle gewählten Punkte sind nun um einen halben Meter verschoben; andere Variante wäre vielleicht, wenn du dir deine Punkte (alle Stützpunkte deiner Linie) via Lisp in ein Textfile schreiben lässt, dieses im Excel öffnest und dort deine Additionen/Subtraktionen durchführst, die neuen Koordinaten dann wieder in eine Komma-getrenntes Files schreiben lässt und dieses via Script in AC einliest. ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 11. Sep. 2004 18:34 <-- editieren / zitieren --> Unities abgeben: Nur für oandres
Einen wunderschönen zusammen ;-) ... hab's mal vorsichtig probiert, ist aber kein Lisp. Code:
Sub z_point_charlie() Dim sset As AcadSelectionSet, Ent As AcadEntity Dim s$, oldP, newP#(0 To 2) s = ThisDrawing.Utility.GetString(0, "Z-Verschiebung angeben: ") If Not IsNumeric(s) Or s = "" Then Exit Sub If InStr(1, s, ".") Then s = Replace(s, ".", ",") Set sset = ThisDrawing.SelectionSets.Add("set1") sset.SelectOnScreen For Each Ent In sset If TypeOf Ent Is IAcadPoint Then oldP = Ent.Coordinates newP(0) = oldP(0) newP(1) = oldP(1) newP(2) = oldP(2) + CDbl(s) Ent.Move oldP, newP End If Next sset.Delete End Sub
lg Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oandres Mitglied
Beiträge: 80 Registriert: 24.05.2004 Windows XP Acad 2004
|
erstellt am: 11. Sep. 2004 19:06 <-- editieren / zitieren --> Unities abgeben:
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 11. Sep. 2004 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für oandres
|
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 11. Sep. 2004 22:51 <-- editieren / zitieren --> Unities abgeben: Nur für oandres
|
oandres Mitglied
Beiträge: 80 Registriert: 24.05.2004 Windows XP Acad 2004
|
erstellt am: 12. Sep. 2004 00:36 <-- editieren / zitieren --> Unities abgeben:
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 12. Sep. 2004 00:51 <-- editieren / zitieren --> Unities abgeben: Nur für oandres
|