Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Linie editieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Linie editieren (2016 mal gelesen)
jukni
Mitglied
Techniker


Sehen Sie sich das Profil von jukni an!   Senden Sie eine Private Message an jukni  Schreiben Sie einen Gästebucheintrag für jukni

Beiträge: 175
Registriert: 28.03.2002

Autocad 2006
-WIN XP Prof.
-Intel Core2 Duo E6700-4GB
-PNY Quadro FX3500

erstellt am: 25. Feb. 2003 15:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.
Wir arbeiten mit Autocad 2002.
Folgendes Problem:
Ich zeichne eine gerade Linie mit dem Befehl Linie.
Diese Linie besitzt 3 Griffe,links, mitte und rechts.
Nun möchte ich den mittleren Griff anfassen und nach oben oder unten verziehen sodas eine Linie mit einem Knick in der Mitte entsteht.
Weis jemand wie ich das angehen kann oder hat jemand eine Lisp die das
bewerkstelligt.

Danke
Jürgen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Schachinger
Ehrenmitglied V.I.P. h.c.
Konstrukteur



Sehen Sie sich das Profil von Schachinger an!   Senden Sie eine Private Message an Schachinger  Schreiben Sie einen Gästebucheintrag für Schachinger

Beiträge: 2040
Registriert: 08.04.2002

AIS2009, PDSU 2012-2015, Plant 3D 2011-2015, NavisWorks 2010-2015, Win7 64bit SP1, Intel Core i7 870, 16 GB RAM, Quadro 2000D

erstellt am: 25. Feb. 2003 16:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jukni 10 Unities + Antwort hilfreich

Warum nicht einfach mit Polylinien arbeiten?

------------------
mfg Siegfried Schachinger
http://www.tbschatz.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

heidi
Mitglied
CAD-Dienstleister


Sehen Sie sich das Profil von heidi an!   Senden Sie eine Private Message an heidi  Schreiben Sie einen Gästebucheintrag für heidi

Beiträge: 1130
Registriert: 01.11.2001

Dell Precicion M6700
Nvidia Quadro K3000M
AutoCAD 2012 Sp2
nXtRender
Tetra4D
eigene Tools
Adobe CreativeSuite 6
———————————
MacBook Pro i9 2,3/16/5
Big Sur 11.5.1
BricsCAD V21 Pro

erstellt am: 25. Feb. 2003 16:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jukni 10 Unities + Antwort hilfreich

Hallo Jürgen,
eine Linie besteht aus einer Geraden mit einem Anfangs- und einem Endpunkt. Willst du aus der Linie nun zwei Linien machen, musst du sie zuerst brechen und dann erst kannst du diesen neuen Punkt (genauer gesagt zwei Punkte) verschieben.
Der mittlere Anfasser in der Linie, den AutoCAD dir bietet, ist nur dafür da, um die gesamte Linie zu verschieben. Über die anderen beiden Anfasser kannst du jeweils die Linie strecken oder kürzen.
Gruß Heidi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Angelika Hädrich
Ehrenmitglied V.I.P. h.c.
Application Engineer



Sehen Sie sich das Profil von Angelika Hädrich an!   Senden Sie eine Private Message an Angelika Hädrich  Schreiben Sie einen Gästebucheintrag für Angelika Hädrich

Beiträge: 5123
Registriert: 12.07.2000

Der erreicht am meisten, der immer auch anders kann, als er vorhatte.

erstellt am: 25. Feb. 2003 16:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jukni 10 Unities + Antwort hilfreich

... aber solange die Polylinie nur aus einem Segment besteht (hat sie nur 2 Griffe) ist nix mit Knick über Griffe rausziehen, es müssen zwei Segmente sein...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Schachinger
Ehrenmitglied V.I.P. h.c.
Konstrukteur



Sehen Sie sich das Profil von Schachinger an!   Senden Sie eine Private Message an Schachinger  Schreiben Sie einen Gästebucheintrag für Schachinger

Beiträge: 2040
Registriert: 08.04.2002

AIS2009, PDSU 2012-2015, Plant 3D 2011-2015, NavisWorks 2010-2015, Win7 64bit SP1, Intel Core i7 870, 16 GB RAM, Quadro 2000D

erstellt am: 25. Feb. 2003 16:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jukni 10 Unities + Antwort hilfreich

Ein klick mehr (für den mittleren Punkt) bei der Polylinienerstellung dürfte vertretbar sein?! Wenn man ein spezifisches Lisp schreibst kommt man sicher auch noch mehr Klicks... es geht ja ums Zeit sparen oder?

------------------
mfg Siegfried Schachinger
http://www.tbschatz.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


Sehen Sie sich das Profil von gmk an!   Senden Sie eine Private Message an gmk  Schreiben Sie einen Gästebucheintrag für gmk

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 26. Feb. 2003 08:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jukni 10 Unities + Antwort hilfreich

Hi Jürgen!

lb teilt dir die Strecke in der Mitte.

(defun C:lb ( / element p1 p2 p3)
      (SETQ element (ENTGET (CAR (ENTSEL "Bitte Linie wählen"))))
      (SETQ p1 (CDR(ASSOC 10 element)))
      (SETQ p2 (CDR(ASSOC 11 element)))
(setq p3 (strcat (rtos (+ (car p1) (* (- (car p2) (car p1)) 0.5)) 2 8) "," (rtos (+ (cadr p1) (* 0.5 (- (cadr p2) (cadr p1)))) 2 8) ",0.0"))
      (command "_break" p3 "@")
)

Ciao Georg

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jukni
Mitglied
Techniker


Sehen Sie sich das Profil von jukni an!   Senden Sie eine Private Message an jukni  Schreiben Sie einen Gästebucheintrag für jukni

Beiträge: 175
Registriert: 28.03.2002

Autocad 2006
-WIN XP Prof.
-Intel Core2 Duo E6700-4GB
-PNY Quadro FX3500

erstellt am: 26. Feb. 2003 10:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Georg,
leider halbiert mir deine Lisp nur die Linie.
Ich brauche folgendes:
Die normale Linie soll durch eine Polylinie ersetzt werden.
Diese Polyline soll den gleichen Layer und die gleichen End und Mittelpunkte haben.
Danke Jürgen.
   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mapcar
Mitglied
CADmin



Sehen Sie sich das Profil von mapcar an!   Senden Sie eine Private Message an mapcar  Schreiben Sie einen Gästebucheintrag für mapcar

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 26. Feb. 2003 10:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jukni 10 Unities + Antwort hilfreich

Hi Jürgen,

versuch's mal hiermit - macht allerdings aus einer Linie zwei, also keine Polylinie.

>> Diese Polyline soll den gleichen Layer und die gleichen End und Mittelpunkte haben.

Dann kann sie allerdings keinen Knick haben, denn dann wäre sie geometrisch identisch mit der Linie;-)

Hier der Code, ohne Errorhandling usw.:

(defun c:knicken( / ent p3 p10 p11 xordraw get-pt)
(defun xordraw(p1 p2 p3 / )
(grdraw p1 p3 -1)
(grdraw p2 p3 -1)
)
(defun get-pt(p1 p2 / p pp)
(setq pp(grread'T 1))
(xordraw p1 p2(cadr pp))
(while(= 5(car(setq p(grread 'T 1))))
(xordraw p1 p2(cadr pp))
(xordraw p1 p2(cadr p))
(setq pp p)
)
(xordraw p1 p2(cadr pp))
(if(= 3(car p))p)
)
(if(=(cdr(assoc 0(setq ent(entget(car(entsel))))))"LINE")
(if(setq p3(cadr(get-pt(setq p10(cdr(assoc 10 ent)))(setq p11(cdr(assoc 11 ent))))))
(progn
(entmake(subst(cons 10 p3)(assoc 10 ent)ent))
(entmod(subst(cons 11 p3)(assoc 11 ent)ent))
)
)
)
)

Gruss, Axel

------------------
Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze
Meine Überzeugung...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jukni
Mitglied
Techniker


Sehen Sie sich das Profil von jukni an!   Senden Sie eine Private Message an jukni  Schreiben Sie einen Gästebucheintrag für jukni

Beiträge: 175
Registriert: 28.03.2002

Autocad 2006
-WIN XP Prof.
-Intel Core2 Duo E6700-4GB
-PNY Quadro FX3500

erstellt am: 26. Feb. 2003 11:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Axel.
Vielen Dank für die Lisp.
Habe zwar nun keine Polylinie sondern zwei Linien,
aber damit ist mir auch schon sehr geholfen.

Ciao
Jürgen     

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad-lisp
Mitglied
Holztechniker


Sehen Sie sich das Profil von cad-lisp an!   Senden Sie eine Private Message an cad-lisp  Schreiben Sie einen Gästebucheintrag für cad-lisp

Beiträge: 12
Registriert: 13.02.2003

erstellt am: 26. Feb. 2003 11:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jukni 10 Unities + Antwort hilfreich

Hallo Jürgen,

hier einmal ein Versuch, eine Linie in eine Polyline zu ändern, mit zusätzlichen Stützpunkt in der Mitte.

Gruß
cad-lisp

(defun c:li_pl ( / WAHL)
  ;;Funktion ersetzt eine Linie durch eine Polylinie
  ;;mit zusätzlichem Stützpunkt in der Mitte
  ;;Farbe und Layer bleibt erhalten
  ;;Objekthöhe und Erhebung gehen verloren (nur 2d)
 
  (setq wahl (entsel "\nBitte eine Linie auswählen:"))

  (cond (wahl
(setq wahl (entget(car wahl)))
(cond ((equal (cdr (assoc 0 wahl))"LINE")
(f:line_to_polyline wahl)
      )
      ('T (princ "\n*** Falsche Auswahl! ***"))
        )
)
('T (princ "\n*** Es wurde nichts ausgewählt! ***"))
  )
  (princ)
 
)

(defun f:line_to_polyline (daten / EP FA LA MP OLD_FAR OLD_LAY SP WI)

  (setq old_lay (getvar "CLAYER"))
  (setq old_far (getvar "CECOLOR"))
 
  (setq sp (cdr(assoc 10 daten))
ep (cdr(assoc 11 daten))
wi (angle sp ep)
mp (polar sp wi (/ (distance sp ep) 2))
la (cdr(assoc 8 daten))
fa (cdr(assoc 62 daten))

  )
  (setvar "CLAYER" la)
  (if fa
    (setvar "CECOLOR" (itoa fa))
    (setvar "CECOLOR" "256")
  )

  (entmake (list (cons 0 "POLYLINE") (cons 8 la)))
  (entmake (list (cons 0 "VERTEX")(cons 42 0.0 )(cons 10 sp)))
  (entmake (list (cons 0 "VERTEX")(cons 42 0.0 )(cons 10 mp)))
  (entmake (list (cons 0 "VERTEX")(cons 42 0.0 )(cons 10 ep)))
  (entmake (list (cons 0 "SEQEND")))

  (command "_erase" (cdr (assoc -1 daten)) "")
  (setvar "CLAYER"  old_lay)
  (setvar "CECOLOR" old_far)

)


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 26. Feb. 2003 12:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jukni 10 Unities + Antwort hilfreich

Hi,
ich hab' auch noch einen...
Code:

(defun C:XL2PL (/)
;;; Geklaut von Axel Strubbe-Zettler ;-)
  (defun XORDRAW (P1 P2 P3 /)
    (grdraw P1 P3 -1)
    (grdraw P2 P3 -1)
  ) ;_ end of defun
  (defun GET-PT (P1 P2 / P PP)
    (setq PP (grread 't 1))
    (XORDRAW P1 P2 (cadr PP))
    (while (= 5 (car (setq P (grread 't 1))))
      (XORDRAW P1 P2 (cadr PP))
      (XORDRAW P1 P2 (cadr P))
      (setq PP P)
    ) ;_ end of while
    (XORDRAW P1 P2 (cadr PP))
    (if (= 3 (car P))
      P
    ) ;_ end of if
  ) ;_ end of defun
;;; Geklaut von Axel Ende

  (princ "Linien wählen...")
  (setq ENAME (car (entsel)))
  (if (= (cdr (assoc 0 (setq EDATA (entget ENAME))))
        "LINE"
      ) ;_ end of =
    (progn
      (setq XENAME (vlax-ename->vla-object ENAME)
            PKT    (vlax-curve-getpointatparam
                    XENAME
                    (/ (vlax-curve-getendparam XENAME) 2)
                  ) ;_ end of vlax-curve-getPointAtParam
      ) ;_ end of setq
;;; Nochmal geklaut von Axel
      (if (setq P3 (cadr (GET-PT (setq P10 (cdr (assoc 10 EDATA)))
                                (setq P11 (cdr (assoc 11 EDATA)))
                        ) ;_ end of get-pt
                  ) ;_ end of cadr
          ) ;_ end of setq
        (setq PKT P3)
      ) ;_ end of if
;;; Geklaut Ende
      (command "_.pedit" ENAME "_y" "_e" "_i" PKT "_x" "")
      (princ "\nOK, Linie zur Polylinie konvertiert !"
      ) ;_ end of princ
    ) ;_ end of progn
    (princ "\nKeine Linie gewählt !")
  ) ;_ end of if
  (princ)
) ;_ end of defun



------------------
Ciao,
Marc

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jukni
Mitglied
Techniker


Sehen Sie sich das Profil von jukni an!   Senden Sie eine Private Message an jukni  Schreiben Sie einen Gästebucheintrag für jukni

Beiträge: 175
Registriert: 28.03.2002

Autocad 2006
-WIN XP Prof.
-Intel Core2 Duo E6700-4GB
-PNY Quadro FX3500

erstellt am: 26. Feb. 2003 12:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.
Ich möchte mich bei allen bedanken.
Habe jetzt mehr als ich brauche.
Vielen vielen Dank
Jürgen
     

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz