| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: mittellinie (und ewig grüßt das murmeltier) (1247 mal gelesen)
|
Zec Mitglied Cad Konstr.

 Beiträge: 58 Registriert: 28.09.2005
|
erstellt am: 24. Jul. 2006 09:21 <-- editieren / zitieren --> Unities abgeben:         
hallo zusammen, benötige mal hilfe bei einem kleine problem, ich stell den linientyp ein und er wird nicht so ausgeführt, geschweige den die farbe. danke vorab autocad 2004 tga-desktop 6.0 lisp: --------------------------------------------------------------- ;; Mittellinie zeichnen an Kreise, Bögen, Linien LWPolylinien und Polylinien ;; Die Mittellinien werden zu einer Gruppe zusammengefügt. ;; (d) Schönwald ;; 28.7.2003 V 4.0 ACAD2000 ;; (defun C:M_L (/ ELEM ELDA KR L P1 P2 P3 P4 DS WB WG WB1 DS2 CLTS E1 E2 E3 E4 AS LEER) (defun *ERROR* (MSG) (R_VAR) (princ MSG) (princ)) (setq C_E (getvar "CMDECHO") ; ECHO C_L (getvar "CLAYER") ; Layer O_M (getvar "OSMODE") ; Fang G_M (getvar "GRIDMODE") ; Raster C_S (getvar "CELTSCALE") ; Linienscalierung lokal W_K (getvar "UCSORG") ; BKS LEER (strcat "\n" (chr 160) "\n" (chr 160) "\n" (chr 160) "\n") ) (setvar "CMDECHO" 0) (setvar "OSMODE" 0) (setvar "GRIDMODE" 0) (command "_UCS" "_W") ;; Hier kann man einen persönlichen Layer einstellen. ;; Eingestellt ist: Layer 1, Farbe 1, Linientyp MITTE (if (not (tblsearch "LAYER" "1")) (command "_LAYER" "_M" "1" "_C" "10" "" "_L" "STRICHPUNKT" "" "") (command "_LAYER" "_S" "1" "") ) (defun R_VAR () (setvar "OSMODE" O_M) (setvar "GRIDMODE" G_M) (command "_LAYER" "_SET" C_L "" "REGEN") (command "_UCS" "O" W_K) (setvar "CELTSCALE" C_S) (setvar "CMDECHO" C_E) ) ;;-------------------------------------------------------------- (princ LEER) (setq ELEM (entsel "\nBitte einen Kreis, Bogen oder Linie wählen: ")) (setq ELDA (entget (car ELEM))) (if (or (= (cdr (assoc 0 ELDA)) "CIRCLE") ; wenn Kreis (= (cdr (assoc 0 ELDA)) "ARC") ; wenn Bogen ) (progn ; dann ... (setq MP (cdr (assoc 10 ELDA)) RA (cdr (assoc 40 ELDA)) L (+ RA 3) ; 3 mm Ueberstand ) (if (and (>= RA 2) (< RA 15)) (setq CLTS (* RA 0.08)) (if (< RA 2) (setq CLTS 0.16) (setq CLTS 1) ) ) (setq CLTS (distof (rtos CLTS 2 2))) (setvar "CELTSCALE" CLTS) (command "regen") (setq AS (ssadd)) (command "_LINE" MP (polar MP 0 L) "") (setq E1 (entlast)) (ssadd E1 AS) (command "_LINE" MP (polar MP (* pi (/ 90.0 180.0)) L) "") (setq E2 (entlast)) (ssadd E2 AS) (command "_LINE" MP (polar MP pi L) "") (setq E3 (entlast)) (ssadd E3 AS) (command "_LINE" MP (polar MP (* pi (/ 270.0 180.0)) L) "") (setq E4 (entlast)) (ssadd E4 AS) (command "_group" "" "*" "" AS "") ) ;_end progn ) ;_end if (if (or (= (cdr (assoc 0 ELDA)) "LINE") ; wenn ... (= (cdr (assoc 0 ELDA)) "POLYLINE") (= (cdr (assoc 0 ELDA)) "LWPOLYLINE") ) (progn (setvar "OSMODE" 2) ; Fang (setq P1 (osnap (cadr ELEM) "_MID")) ; Anpickpunkt Mitte (princ LEER) (setq P2 (getpoint "\n... zur nächsten Linie: ")) (setq DS (distance P1 P2)) (setq WB (angle P1 P2)) (setq WG (/ (* WB 180.0) pi)) (setq WB1 (* pi (/ (+ 180 WG) 180.0))) (setq DS2 (+ DS 6.0)) (setq P3 (polar P1 WB1 3.0)) (setq P4 (polar P3 WB DS2)) (command "_LINE" P3 P4 "") ; zeichnen ) ) (R_VAR) (princ) ) ; End defun (princ) ------------------------------------------------------ gruß ZEC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22298 Registriert: 03.06.2002 Alles
|
erstellt am: 24. Jul. 2006 09:46 <-- editieren / zitieren --> Unities abgeben:          Nur für Zec
Also du hast es ordentlich geändert, es funktioniert einwandfrei. Farbe="10" , LType="Strichpunkt" Frage: Gibt es den Layer "1" evtl bereits in deiner Zeichnung ? Dann wird nämlich auch nichts geändert ! Es wird geprüft ob es den Layer bereits gibt, wenn nein: Erstellen, wenn ja - so belassen. Dafür ist die "Wenn/dies stimmt/mache das/ansonsten jenes" Konstruktion da "(IF..." <siehe Acad-Entwicklerhilfe> Code:
(if (not (tblsearch "LAYER" "1")) (command "_LAYER" "_M" "1" "_C" "10" "" "_L" "STRICHPUNKT" "" "") (command "_LAYER" "_S" "1" "") )
Wenn du das rausnimmst, so erstellt er den Layer oder überschreibt die vorhandene Layer-Definition. PS.: Wenn du es rausnehmen solltest, so vermerke das als Kommentar in der Kopfzeile, weil es ja nicht mehr dem Lisp von T.Schönwald vom 28.7.2003 entspricht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zec Mitglied Cad Konstr.

 Beiträge: 58 Registriert: 28.09.2005
|
erstellt am: 25. Jul. 2006 09:18 <-- editieren / zitieren --> Unities abgeben:         
|
benwisch Mitglied Bautechniker, CAD-Konstrukteur
 
 Beiträge: 375 Registriert: 01.02.2001 Autocad 2005-2010 Microstation V8 Photoshop CS4 + Camera Raw Nikon Capture NX2 Nikon D90
|
erstellt am: 25. Jul. 2006 10:26 <-- editieren / zitieren --> Unities abgeben:          Nur für Zec
Zitat: Original erstellt von Zec: hallo cadffm,habs nochmal gecheckt und es klappt nicht, auch wenn layer 1 vorhanden ist, er nimmt keine farbe geschweige denn linientyp. lieg es am acad 2004 ? gruss ZEC
Yep, kann ich auch bestätigen Der Grund liegt hier! Code: (if (not (tblsearch "LAYER" "1")) (command "_LAYER" "_M" "1" "_C" "10" "" "_L" "STRICHPUNKT" "" "") (command "_LAYER" "_S" "1" "") )
Klar, oder ? Theodor verfolgt dabei folgendes Ziel: Der Layer wird mit vorgegebenen Attributen erstellt, danach wird einfach nur noch der Layer aktuell gesetzt. Wenn du aber grundsätzlich Attribute setzen willst, dann ändere es doch so ab, daß du das if... einfach wegläßt:
Code: (command "_LAYER" "_M" "1" "_C" "10" "" "_L" "STRICHPUNKT" "" "")
Der Layer wird bei vorhandensein aktuell gesetzt mit den gewünschten Attributen (Eigenschaftswerte), gibt also kein Fehlerabbruch! Nachteil, aber vernachlässigbar IMHO: bei jedem Aufruf wird dem Layer Attributswerte übergeben.Greets Rolf ------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zec Mitglied Cad Konstr.

 Beiträge: 58 Registriert: 28.09.2005
|
erstellt am: 25. Jul. 2006 12:21 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich geb auf, entweder ist es zu warm oder "mei maschi is hi" wie wir in bayern sagen, es klappt einfach nicht, wenn ich if... weglasse, und nur die Zeile command "_LAYER" "_M" "1" "_C" "10" "" "_L" "STRICHPUNKT" "" "") stehen lasse macht er genau das gleiche -> nämlich keine strichlinie oder farbe. was mach ich falsch ? gruss ZEC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |