Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Lisp für Scheitelpunkte bereinigen...

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
Autor Thema:   Lisp für Scheitelpunkte bereinigen... (1585 mal gelesen)
Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 02. Jun. 2014 21:02    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

Hallöchen,

ich wollte mal fragen ob es ein LISP (Script)
gibt womit er alle Scheitelpunkte in der Zeichnung von z.b. 54445.99
auf 54446 setzt...Sprich die bereinigt auf 0 kommastellen ?

Ziemlich nervig wenn man alle Objekte durch gehen muss 

Danke fü Tipps, Tricks und Hilfen...

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13388
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 02. Jun. 2014 21: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 Bunnyguard 10 Unities + Antwort hilfreich

wronzky schrieb mal dazu: ....eine schnelle Methode wäre die Datei als DXF-Datei abzuspeichern und in den Einstellungen die Anzahl der Dezimalstellen der Ausgabe auf 0 oder 1 stellen. Aber Achtung! Das rundet gnadenlos ALLE Koordinaten. Für Teilbereiche kannst Du die zu rundenen Objekte als Wblock in eine separate Datei schreiben und dann diese Datei über DXF "runden".

Ich hatte auch mal ein Tool dafür geschrieben .. finde es momentan aber nicht ... kannst ja selbst noch mal suchen.


Ein Link noch dazu <<Klick>>

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 02. Jun. 2014 21:33    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

Hmm, Ja das mit DXF ist eine möglichkeit, Praktischer wäre natürlich das direkt in der Zeichnung erledigen zu können,

evtl. auch mit Auswahlsatz... 

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13388
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Jun. 2014 07:57    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 Bunnyguard 10 Unities + Antwort hilfreich

Jo ,stimme ich dir zu .... SCNR   

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

cadffm
Moderator
良い精神




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

Beiträge: 18749
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 03. Jun. 2014 08:43    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 Bunnyguard 10 Unities + Antwort hilfreich

Nach CADmiums erster Antwort(Link) ist das Thema doch beantwortet,
man sollte lediglich die akzeptierten Objektypen im Programm anpassen.

Statt "LINE" zB. "*LINE" - oder keine Beschränkung, oder was auch immer.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 03. Jun. 2014 10:18    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

Also die Lisp seht folgendermaßen aus nun...:
1. Möchte das App nicht jedesmal über appload laden, wie bau ich da ein kurzbefehl ein damit ich das direkt abrufen kann?
2. Das Lisp korigiert mir leider nur 1 Scheitelpunkt...ich möchte aber z.b. bei einem Rechteck alle 4 korrigieren...
egal wie viel Scheitelpunkte es gibt soll er alle korigieren...
Und das ganze, damit ich ein Auswahlsatz wählen kann und nicht jede Polylinie eigens machen muss...DANKE

Danke für die Hilfe

(setq aws (entsel "\polyline oder Block wählen: "))
(if aws
    (progn
    (setq objekt (car aws)
          elem_liste10 (entget (car aws))
          elem_liste11 (entget (car aws))
              elem_typ (cdr (assoc 0 elem_liste10)))
        (if (or (= elem_typ "LWPOLYLINE")
            (= elem_typ "INSERT"))
                (progn
                    ; *********************************
                    (setq zehner (cdr (assoc 10 elem_liste10))
                          zehn_x (cadr (assoc 10 elem_liste10))
                          zehn_y (caddr (assoc 10 elem_liste10)))
                    ; wenn die Differenz zur nächsten vollen Zahl kleinergleich 0.1, dann verschiebe auf volle Zahl.
                    ; sonst auf gerundetes Zehntel
                    (if (<= (abs (- (atof (rtos zehn_x 2 0)) (atof (rtos zehn_x 2 1)))) 0.1)
                        (setq zehn_x (atof (rtos zehn_x 2 0)))
                        (setq zehn_x (atof (rtos zehn_x 2 1)))
                    )
                    (if (<= (abs (- (atof (rtos zehn_y 2 0)) (atof (rtos zehn_y 2 1)))) 0.1)
                        (setq zehn_y (atof (rtos zehn_y 2 0)))
                        (setq zehn_y (atof (rtos zehn_y 2 1)))
                    )
                    (entmod (setq elem_liste11 (subst (cons 10 (list zehn_x zehn_y 0.0)) (cons 10 zehner) elem_liste10)))
                    (entupd objekt)
                    (command "_regen")
                    (princ (strcat "\n  10er verschoben von \n"
                            (rtos (car zehner) 2) " / " (rtos (cadr zehner) 2)
                            " nach \n"
                            (rtos zehn_x 2) " / " (rtos zehn_y 2))
                    )
                    ; *********************************
                    (if (= elem_typ "LWPOLYLINE")
                        (progn
                            (setq elfer (cdr (assoc 11 elem_liste11))
                                  elf_x (cadr (assoc 11 elem_liste11))
                                  elf_y (caddr (assoc 11 elem_liste11)))
                            ; wenn die Differenz zur nächsten vollen Zahl kleinergleich 0.1, dann verschiebe auf volle Zahl.
                            ; sonst auf gerundetes elftel
                            (if (<= (abs (- (atof (rtos elf_x 2 0)) (atof (rtos elf_x 2 1)))) 0.1)
                                (setq elf_x (atof (rtos elf_x 2 0)))
                                (setq elf_x (atof (rtos elf_x 2 1)))
                            )
                            (if (<= (abs (- (atof (rtos elf_y 2 0)) (atof (rtos elf_y 2 1)))) 0.1)
                                (setq elf_y (atof (rtos elf_y 2 0)))
                                (setq elf_y (atof (rtos elf_y 2 1)))
                            )
                            (entmod (subst (cons 11 (list elf_x elf_y 0.0)) (cons 11 elfer) elem_liste11))
                            (entupd objekt)
                            (command "_regen")
                            (princ (strcat "\n  11er verschoben von \n"
                                    (rtos (car elfer) 2) " / " (rtos (cadr elfer) 2)
                                    " nach \n"
                                    (rtos elf_x 2) " / " (rtos elf_y 2))
                            )
                        )
                    )
                )
                (progn
                    (princ (strcat "\nDas ist ein(e) " elem_typ "."))
                )
            )
    )
    (princ "\nNichts gewählt.")
)

[Diese Nachricht wurde von Bunnyguard am 03. Jun. 2014 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 18749
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 03. Jun. 2014 10:33    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 Bunnyguard 10 Unities + Antwort hilfreich

Dieses hättest du nehmen sollen/müssen -> http://ww3.cad.de/foren/ubb/Forum145/HTML/002757.shtml#000010

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 03. Jun. 2014 10:47    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

Na ok,

wenn ich diese nehme:
Lässt sich erfolgreich Laden, aber über koord_rnd kommt unbekannter Befehl...hmmm

(defun koord_rnd (genauigkeit / n satz)
  (if (setq satz (ssget '((-4 . "<OR")
  (0 . "*LINE")
  (0 . "INSERT")
  (-4 . "OR>")
)
)
      )
    (progn
      (setq n (1- (sslength satz)))
      (repeat (sslength satz)
(entmod
  (mapcar
    '(lambda (data)
      (if (or (= (car data) 10) (= (car data) 11))
(cons (car data)
      (mapcar '(lambda (wert)
  (atof (rtos wert 2 genauigkeit))
)
      (cdr data)
      )
)
data
      )
    )
    (entget (ssname satz n))
  )
)
(setq n (1- n))
      )
    )
  )
  (princ)
)

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

cadffm
Moderator
良い精神




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

Beiträge: 18749
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 03. Jun. 2014 11: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 Bunnyguard 10 Unities + Antwort hilfreich

koord_rnd ist nicht als AutoCAD-Befehl definiert, nur als Lispfunktion.

Aufruf: (koord_rnd 0)
Wobei die 0 die Genauigkeit(Stellen) angibt.

Du kannst die nun eigene AutoCADbefehle kreieren:

(defun c:koord_rnd0 ()(koord_rnd 0))
(defun c:koord_rnd3 ()(koord_rnd 3))

Als Beispiel..

Wegen dem "immer verfügbar", da solltest du dir vom User FAQ hier im Forum die Threads ansehen,
darunter gibt es auch welche zu acaddoc.lsp und applod.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13388
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Jun. 2014 11:08    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 Bunnyguard 10 Unities + Antwort hilfreich

ändere (defun koord_rnd (genauigkeit / n satz)
in (defun c:koord_rnd (genauigkeit / n satz)

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 03. Jun. 2014 11:26    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

(defun c:sp_clear (genauigkeit / n satz)
  (if (setq satz (ssget '((-4 . "<OR")
  (0 . "*LINE")
  (0 . "INSERT")
  (-4 . "OR>")
)
)
      )
    (progn
      (setq n (1- (sslength satz)))
      (repeat (sslength satz)
(entmod
  (mapcar
    '(lambda (data)
      (if (or (= (car data) 10) (= (car data) 11))
(cons (car data)
      (mapcar '(lambda (wert)
  (atof (rtos wert 2 genauigkeit))
)
      (cdr data)
      )
)
data
      )
    )
    (entget (ssname satz n))
  )
)
(setq n (1- n))
      )
    )
  )
  (princ)
)


Befehl:
Befehl: SP_CLEAR
; Fehler: Zu wenig Argumente

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13388
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Jun. 2014 11:32    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 Bunnyguard 10 Unities + Antwort hilfreich

siehe cadffm  ( ich hatte nicht genau genug gelesen )

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 bis ACA 2013
Arcibem
System:
Windows
Internet-Startseite:
http://www.archi.de

erstellt am: 03. Jun. 2014 11:42    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 Bunnyguard 10 Unities + Antwort hilfreich

Hallo,
da Rundungsroutinen entweder nur bestimmte Objekte (z.B. nur Linien) bearbeiten, oder sehr komplex werden können, würde ich es immer noch so machen:
Code:
(defun c:RoundItAll ( / as file)
  (if (setq as (ssget))
    (progn
      (command "_dxfout" (setq file (vl-filename-mktemp "" "" ".dxf")) "_o" as "" 0)
      (command "_.insert" (strcat "*" file) '(0 0 0) 1 0)
      (vl-file-delete file)
      (command "_erase" as "")
    )
  )
)
Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 03. Jun. 2014 11: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

Danke das klappt schon mal wunderbar...

letztes Problem, gibt es eine Lösung das ganze in einer Blockreferenz anzuwenden ?

Danke 

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 bis ACA 2013
Arcibem
System:
Windows
Internet-Startseite:
http://www.archi.de

erstellt am: 03. Jun. 2014 12:47    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 Bunnyguard 10 Unities + Antwort hilfreich

Falls die Frage an mich gerichtet war:
Grundsätzlich sind die Blöcke in der erstellten DXF ja bereits gerundet, werden aber beim Einfügen wieder durch die in der Zeichnung ersetzt. Das läßt sich nicht so einfach per "Schalter" beheben.
Eine Möglichkeit wäre, den Block selbst als DXF heraus zu schreiben und beim Wiedereinfügen zu aktualisieren. Hier mal ein Beispielcode dazu:
Code:
(defun c:RoundTheBlock ( / as block file)
  (vl-load-com)
  (if (setq as (ssget "_:S" '((0 . "INSERT"))))
    (progn
      (setq block (vla-get-effectivename (vlax-ename->vla-object (ssname as 0))))
      (command "_wblock" (setq file (vl-filename-mktemp "" "" ".dxf")) 0 block)
      (command "_.insert" (strcat block "=" file)) (command)
      (vl-file-delete file)
    )
  )
)
Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 03. Jun. 2014 13: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

Hmmm, schade das man es nicht direkt in der referenz machen kann

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13388
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Jun. 2014 13: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 Bunnyguard 10 Unities + Antwort hilfreich

kann man doch ... _refedit und dann das Lisp ...

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 03. Jun. 2014 14:30    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

Da sagt er mir das dxfout nicht in der referenz möglich ist...

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13388
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Jun. 2014 14:35    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 Bunnyguard 10 Unities + Antwort hilfreich

Ach so, du redest von dem .. ich von dem anderen

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 03. Jun. 2014 16:02    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

Ist das möglich so zu gestalten das man es in der referenz anwenden kann ?

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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 04. Jun. 2014 08:15    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

Guten Morgen,

ich möchte jetzt denn Code verwenden da ich diesen auch in einer Blockreferenz verwenden kann, denk ich 

Kann mir bitte jemand das so umstricken das ich per Befehl "rd"
dieses abrufen kann.
Ich will das in unsere Standard Lisp mit rein nehmen.
Und Wichtig das er mir jede Linie nimmt...
"*Line" funktioniert irgendwie nicht...

Das wär sehr nett von euch.

Danke schon mal.

(setq aws (entsel "\nLinie oder Block wählen: "))
(if aws
    (progn
    (setq objekt (car aws)
          elem_liste10 (entget (car aws))
          elem_liste11 (entget (car aws))
              elem_typ (cdr (assoc 0 elem_liste10)))
        (if (or (= elem_typ "*LINE")
            (= elem_typ "INSERT"))
                (progn
                    ; *********************************
                    (setq zehner (cdr (assoc 10 elem_liste10))
                          zehn_x (cadr (assoc 10 elem_liste10))
                          zehn_y (caddr (assoc 10 elem_liste10)))
                    ; wenn die Differenz zur nächsten vollen Zahl kleinergleich 0.1, dann verschiebe auf volle Zahl.
                    ; sonst auf gerundetes Zehntel
                    (if (<= (abs (- (atof (rtos zehn_x 2 0)) (atof (rtos zehn_x 2 1)))) 0.1)
                        (setq zehn_x (atof (rtos zehn_x 2 0)))
                        (setq zehn_x (atof (rtos zehn_x 2 1)))
                    )
                    (if (<= (abs (- (atof (rtos zehn_y 2 0)) (atof (rtos zehn_y 2 1)))) 0.1)
                        (setq zehn_y (atof (rtos zehn_y 2 0)))
                        (setq zehn_y (atof (rtos zehn_y 2 1)))
                    )
                    (entmod (setq elem_liste11 (subst (cons 10 (list zehn_x zehn_y 0.0)) (cons 10 zehner) elem_liste10)))
                    (entupd objekt)
                    (command "_regen")
                    (princ (strcat "\n  10er verschoben von \n"
                            (rtos (car zehner) 2) " / " (rtos (cadr zehner) 2)
                            " nach \n"
                            (rtos zehn_x 2) " / " (rtos zehn_y 2))
                    )
                    ; *********************************
                    (if (= elem_typ "*LINE")
                        (progn
                            (setq elfer (cdr (assoc 11 elem_liste11))
                                  elf_x (cadr (assoc 11 elem_liste11))
                                  elf_y (caddr (assoc 11 elem_liste11)))
                            ; wenn die Differenz zur nächsten vollen Zahl kleinergleich 0.1, dann verschiebe auf volle Zahl.
                            ; sonst auf gerundetes elftel
                            (if (<= (abs (- (atof (rtos elf_x 2 0)) (atof (rtos elf_x 2 1)))) 0.1)
                                (setq elf_x (atof (rtos elf_x 2 0)))
                                (setq elf_x (atof (rtos elf_x 2 1)))
                            )
                            (if (<= (abs (- (atof (rtos elf_y 2 0)) (atof (rtos elf_y 2 1)))) 0.1)
                                (setq elf_y (atof (rtos elf_y 2 0)))
                                (setq elf_y (atof (rtos elf_y 2 1)))
                            )
                            (entmod (subst (cons 11 (list elf_x elf_y 0.0)) (cons 11 elfer) elem_liste11))
                            (entupd objekt)
                            (command "_regen")
                            (princ (strcat "\n  11er verschoben von \n"
                                    (rtos (car elfer) 2) " / " (rtos (cadr elfer) 2)
                                    " nach \n"
                                    (rtos elf_x 2) " / " (rtos elf_y 2))
                            )
                        )
                    )
                )
                (progn
                    (princ (strcat "\nDas ist ein(e) " elem_typ "."))
                )
            )
    )
    (princ "\nNichts gewählt.")

[Diese Nachricht wurde von Bunnyguard am 04. Jun. 2014 editiert.]

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13388
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 04. Jun. 2014 08:48    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 Bunnyguard 10 Unities + Antwort hilfreich

über DXF geht nur die ANZAHL der NACHKOMMASTELLEN !

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

Bunnyguard
Mitglied



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

Beiträge: 353
Registriert: 15.12.2009

Intel i7-4790k 4.00 GHz
16 GB RAM
Win 7 Pro 64Bit
Nvidia GeForce GTX 770
Samsung SSD 840 Pro Serie
Autocad 2015,

erstellt am: 04. Jun. 2014 08:58    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

Ja das habe ich mir schon gedacht, daher möchte ich den Code im Beitrag eins drüber verwenden...
diesen kann ich auch in einer Blockreferenz nutzen....

Herzlichen Dank

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

Balrok
Mitglied
Technischer Zeichner


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

Beiträge: 356
Registriert: 02.06.2005

Win10, 64Bit
AutoCad Architcture 2019
LiNear 2019
EPLAN P8

erstellt am: 15. Feb. 2018 13:05    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 Bunnyguard 10 Unities + Antwort hilfreich

ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist!


Ich muss nochmal auf diesen Beitrag zurückgreifen.
Leider sagt er mir immer, das ich 0 Objekte ausgewählt habe, obwohl ich die
geschlossene PL angewählt habe.    

Was mache ich falsch?   

Habe den Code versucht: Natürlich mit der Änderung von Cadffm


(defun c:koord_rnd0 ()(koord_rnd 0))
  (if (setq satz (ssget '((-4 . "<OR")
  (0 . "*LINE")
  (0 . "INSERT")
  (-4 . "OR>")
)
)
      )
    (progn
      (setq n (1- (sslength satz)))
      (repeat (sslength satz)
(entmod
  (mapcar
    '(lambda (data)
      (if (or (= (car data) 10) (= (car data) 11))
(cons (car data)
      (mapcar '(lambda (wert)
  (atof (rtos wert 2 genauigkeit))
)
      (cdr data)
      )
)
data
      )
    )
    (entget (ssname satz n))
  )
)
(setq n (1- n))
      )
    )
  )
  (princ)
)

Grüße
Balrok

[Diese Nachricht wurde von Balrok am 15. Feb. 2018 editiert.]

[Diese Nachricht wurde von Balrok am 15. Feb. 2018 editiert.]

[Diese Nachricht wurde von Balrok am 15. Feb. 2018 editiert.]

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1855
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 16. Feb. 2018 08:57    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 Bunnyguard 10 Unities + Antwort hilfreich

So wäre es richtig
[CODE][/(defun c:koord_rnd (genauigkeit /)
  (if (setq satz (ssget '((-4 . "<OR")
                          (0 . "*LINE")
                          (0 . "INSERT")
                          (-4 . "OR>")
                          )
                        )
            )
    (progn
      (setq n (1- (sslength satz)))
      (repeat (sslength satz)
        (entmod
          (mapcar
            '(lambda (data)
              (if (or (= (car data) 10) (= (car data) 11))
                (cons (car data)
                      (mapcar '(lambda (wert)
                                  (atof (rtos wert 2 genauigkeit))
                                  )
                              (cdr data)
                              )
                      )
                data
                )
              )
            (entget (ssname satz n))
            )
          )
        (setq n (1- n))
        )
      )
    )
  (princ)
  )


(koord_rnd 0)CODE]
Wobei eben der Aufruf durch (koord_rnd mit einem Wert erfolgt)
(koord_rnd 0) oder (koord_rnd 2)...

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

Balrok
Mitglied
Technischer Zeichner


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

Beiträge: 356
Registriert: 02.06.2005

Win10, 64Bit
AutoCad Architcture 2019
LiNear 2019
EPLAN P8

erstellt am: 16. Feb. 2018 08: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 Nur für Bunnyguard 10 Unities + Antwort hilfreich

Was für ein Wert muss denn dann da eingefügt werden?
Wie viel Scheitelpunkte die PL haben darf, oder welcher Wert muss eingesetzt werden?

...und bei mir kommt die Meldung, "Aufrufen von (command) aus *Fehler* nicht möglich, ohne vorheriges Aufrufen von (*push-error-using-command*).
Konvertieren von (command)-Aufrufen in (command-s) wird empfohlen."

Danke schon mal!
Balrok


[Diese Nachricht wurde von Balrok am 16. Feb. 2018 editiert.]

[Diese Nachricht wurde von Balrok am 16. Feb. 2018 editiert.]

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 7814
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 16. Feb. 2018 09:27    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 Bunnyguard 10 Unities + Antwort hilfreich

ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist!

>> Was für ein Wert muss denn dann da eingefügt werden?
Wie viel Scheitelpunkte die PL haben darf, oder welcher Wert muss eingesetzt werden?


Hast Du den thread gelesen oder nur die Überschrift?
Die Funktion heißt koord_rnd und erwartet einen Übergabeparameter, der genauigkeit heißt, die ganze Zeit wird von Nachkommastellen geschrieben... Wie kommst Du auf die Zahl der Scheitelpunkte    

Die Ausgangsfrage lautete: "womit er alle Scheitelpunkte in der Zeichnung von z.b. 54445.99 auf 54446 setzt...Sprich die bereinigt auf 0 kommastellen?"


Das mit dem command-s ist ein alter Hut, aber ich glaube, Du suchst eh eine andere Funktion...
Zum Testen kannst Du dennoch den code aus https://ww3.cad.de/foren/ubb/Forum54/HTML/031229.shtml#000007 verwenden, Aufruf wie von cadffm eine AW drunter beschrieben.
------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

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

Balrok
Mitglied
Technischer Zeichner


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

Beiträge: 356
Registriert: 02.06.2005

Win10, 64Bit
AutoCad Architcture 2019
LiNear 2019
EPLAN P8

erstellt am: 16. Feb. 2018 09:41    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 Bunnyguard 10 Unities + Antwort hilfreich

Oh, da war ich wohl auf dem Holzweg!
In der Tat, ich suche eine Funktion, in der ich die vielen
Scheitelpunkte auf einer geraden PL automatisch entfernen kann.

Da kam mir die lsp sp-clear entgegen gehüpft.  
...aber die funktioniert auch nicht.
Fehlermeldeung:

Fehler: Zu wenig Argumente 

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 7814
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 16. Feb. 2018 09:44    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 Bunnyguard 10 Unities + Antwort hilfreich

ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist!

>> Da kam mir die lsp sp-clear entgegen gehüpft.

Das ist toll.

>> ...aber die funktioniert auch nicht.

Das ist doof.

>> Fehlermeldeung: Fehler: Zu wenig Argumente

Das ist dann wohl so.

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

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

Balrok
Mitglied
Technischer Zeichner


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

Beiträge: 356
Registriert: 02.06.2005

Win10, 64Bit
AutoCad Architcture 2019
LiNear 2019
EPLAN P8

erstellt am: 16. Feb. 2018 09: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 Bunnyguard 10 Unities + Antwort hilfreich

Ein letztes Mal möchte ich noch nerven, 

Der Fehler lautet doch einwenig anders,

Aufrufen von (command) aus *Fehler* nicht möglich, ohne vorheriges Aufrufen von (*push-error-using-command*).
Konvertieren von (command)-Aufrufen in (command-s) wird empfohlen.

Ich kann aber bei der lisp kein command finden?

Na ja, vielleicht bin ich aber einfach WE reif! 
Trotzdem Danke für eure Gedult!

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 7814
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 16. Feb. 2018 10:17    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 Bunnyguard 10 Unities + Antwort hilfreich

>> Der Fehler lautet doch einwenig anders,

Aufrufen von (command) aus *Fehler* nicht möglich, ohne vorheriges Aufrufen von (*push-error-using-command*).
Konvertieren von (command)-Aufrufen in (command-s) wird empfohlen

JA,

Zitat:
Das mit dem command-s ist ein alter Hut

>> Ich kann aber bei der lisp kein command finden?

Von welchem code sprichst Du denn mittlerweile?
Wenn es der aus diesem thread ist, gilt weiterhin

Zitat:
Zum Testen kannst Du dennoch den code aus https://ww3.cad.de/foren/ubb/Forum54/HTML/031229.shtml#000007 verwenden, Aufruf wie von cadffm eine AW drunter beschrieben.

>> Ein letztes Mal möchte ich noch nerven [...]
>> Trotzdem Danke für eure Gedult!

Aber nur, weil Freitag is 

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

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

Balrok
Mitglied
Technischer Zeichner


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

Beiträge: 356
Registriert: 02.06.2005

Win10, 64Bit
AutoCad Architcture 2019
LiNear 2019
EPLAN P8

erstellt am: 16. Feb. 2018 10:26    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 Bunnyguard 10 Unities + Antwort hilfreich

Von diesem Code-Schnipsel,

(defun c:sp_clear (genauigkeit / n satz)
  (if (setq satz (ssget '((-4 . "<OR")
  (0 . "*LINE")
  (0 . "INSERT")
  (-4 . "OR>")
)
)
      )
    (progn
      (setq n (1- (sslength satz)))
      (repeat (sslength satz)
(entmod
  (mapcar
    '(lambda (data)
      (if (or (= (car data) 10) (= (car data) 11))
(cons (car data)
      (mapcar '(lambda (wert)
  (atof (rtos wert 2 genauigkeit))
)
      (cdr data)
      )
)
data
      )
    )
    (entget (ssname satz n))
  )
)
(setq n (1- n))
      )
    )
  )
  (princ)
)


...und da kommt nun die Fehlermeldung.   

Die lisp auf der du verweist funktionert leider auch nicht. Habe in dem Theard schon alle ausprobiert. 
Bin einfach WE reif. Werde jetzt erstmal zum Termin gehen und abschalten... 

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 7814
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 16. Feb. 2018 12:00    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 Bunnyguard 10 Unities + Antwort hilfreich

Du hast den code von Bunnyguard verwendet, der gepostet wurde, weil er einen Fehler wirft, da die Umsetzung vom C: nicht korrekt erfolgte. CADmium gab 6 Minuten später die dazu passende AW, den Verweis auf cadffm weiter oben. Du liest diesen thread wirklich nicht, oder? 

Der codeschnippsle, auf den ich verwiesen habe, funktionierte bei mir, habe ihn extra vorher getestet.

Code:
(defun koord_rnd (genauigkeit / n satz)
  (if (setq satz (ssget '((-4 . "<OR")
  (0 . "*LINE")
  (0 . "INSERT")
  (-4 . "OR>")
)
)
      )
    (progn
      (setq n (1- (sslength satz)))
      (repeat (sslength satz)
(entmod
  (mapcar
    '(lambda (data)
      (if (or (= (car data) 10) (= (car data) 11))
(cons (car data)
      (mapcar '(lambda (wert)
  (atof (rtos wert 2 genauigkeit))
)
      (cdr data)
      )
)
data
      )
    )
    (entget (ssname satz n))
  )
)
(setq n (1- n))
      )
    )
  )
  (princ)
)

AUFRUF mit:

Code:
(koord_rnd 2)

Ergebnis: Die Stützpunkte der PL haben nur noch 2 Nachkommastellen.

Code:

Befehlsfensterauszug von Civil 3D 2018

Befehl: AO
APPLOAD TEST2.lsp erfolgreich geladen.


Befehl:
Befehl:
Befehl: (koord_rnd 2)

Objekte wählen: Regeneriert Modell.
Regeneriert Modell.
Regeneriert Modell.
Regeneriert Modell.
1 gefunden

Objekte wählen:

Befehl:


Versuch es evtl. Montag nochmal  

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

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)2018 CAD.de | Impressum | Datenschutz