| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: getpat.lsp - Schraffurmuster extrahieren (2293 mal gelesen)
|
wuehlmaus Mitglied Landschaftsarchitekt
Beiträge: 350 Registriert: 03.12.2010 win 10, win7 64bit, ISDP 2016-2018(9)iRenderNXT, thearender, SketchUP, Adobe CS 5.5 DesignSuite
|
erstellt am: 28. Jun. 2016 15:44 <-- editieren / zitieren --> Unities abgeben:
Hallo wertes Forum, ich habe ein kleines Problem. Und zwar muss ich aus einer alten Daten mit verschiedenen Schraffuren, das Muster wiederherstellen. sollte ja eigentlich mit getpat.lsp gehen - allerdings kommt beim Aufruf immer einer Fehlermeldung: Fehlerhafter argumenwert: positiv 0 Hat jemand eine Idee wie ich die LSP modifizieren muss/ kann oder gibt es etwas "neueres"? Chris Inhalt der Lsp: ;| GETPAT.LSP (c) 2001 Tee Square Graphics Version 1.01b - 1/22/2002 This routine may be used to extract hatch pattern data from existing drawings when the .pat file containing the original information is not available. After loading the file in the usual manner, type the command GETPAT at the AutoCAD Command: prompt, select any (non-SOLID) hatch object, and the pattern information will be written to a .pat file having the same name as the pattern (e.g., pattern information for the hatch pattern WOODS will be written to WOODS.PAT. Ver. 1.01b includes two small fixex to eliminate "Bad Argument" LISP errors when run with certain installations of AutoCAD 2000+. |; (defun C:GETPAT (/ cmde hat elst rotn hnam temp xofs yofs what temp outf flin angl tmp1 tmp2 xvec yvec) (setq cmde (getvar "cmdecho")) (setvar "cmdecho" 0) (while (not (setq hat (entsel "\nSelect hatch: ")))) (setq elst (entget (car hat))) (if (= (cdr (assoc 0 elst)) "HATCH") (progn (setq rotn (* 180 (/ (cdr (assoc 52 elst)) pi)) hnam (cdr (assoc 2 elst)) hscl (cdr (assoc 41 elst)) ) ;; The following nine lines may optionally be omitted. ;; Their purpose is to create a temporary "clone" of the ;; selected hatch with a 0 deg. rotation angle, in case ;; the hatch object specified a rotation angle. If these ;; lines are omitted, the current rotation of the selected ;; hatch will become the "0" deg. rotation for the extracted ;; pattern definition. (if (not (zerop rotn)) (progn (setq temp elst) (entmake temp) (command "_.rotate" (entlast) "" (cdr (assoc 10 temp))(- rotn)) (setq elst (entget (entlast))) (entdel (entlast)) ) ) ;; End of optional code. (setq xofs (cdr (assoc 43 elst)) yofs (cdr (assoc 44 elst)) elst (member (assoc 53 elst) elst) ) (setq outf (strcat hnam ".pat")) (if (findfile outf) (progn (initget "Overwrite Append") (setq what (getkword (strcat "\n" outf " already exists; Overwrite/Append? "))) ) ) (setq outf (open outf (if (= what "Append") "a" "w")) flin (strcat "*" hnam) ) (foreach x elst (cond ((= (car x) 53) (write-line flin outf) (setq angl (cdr x) flin (trim (angtos angl 0 7)) ) ) ((= (car x) 43) (setq flin (strcat flin ", " (trim (rtos (/ (- (cdr x) xofs) hscl) 2 7)))) ) ((= (car x) 44) (setq flin (strcat flin "," (trim (rtos (/ (- (cdr x) yofs) hscl) 2 7)))) ) ((= (car x) 45) (setq tmp1 (cdr x)) ) ((= (car x) 46) (setq tmp2 (cdr x) xvec (/ (+ (* tmp1 (cos angl))(* tmp2 (sin angl))) hscl) yvec (/ (- (* tmp2 (cos angl))(* tmp1 (sin angl))) hscl) flin (strcat flin ", " (trim (rtos xvec 2 7)) "," (trim (rtos yvec 2 7))) ) ) ((= (car x) 49) (setq flin (strcat flin ", " (trim (rtos (/ (cdr x) hscl) 2 7)))) ) ((= (car x) 98) (write-line flin outf) ) (T nil) ) ) (write-line "" outf) (close outf) (alert (strcat hnam " pattern definition written to " hnam ".PAT")) ) (alert "Selected object not a HATCH.") ) (setvar "cmdecho" cmde) (princ) ) (defun trim (x / n) (setq n (strlen x)) (while (= (substr x n 1) "0") (setq n (1- n) x (substr x 1 n) ) ) (if (= (substr x n 1) ".") (setq x (substr x 1 (1- n))) ) x ) (alert (strcat "GETPAT.LSP (c) 2003 Tee Square Graphics\n" " Type GETPAT to start" ) ) (princ)
------------------ www.Gestalten-mit-AutoCAD.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 28. Jun. 2016 21:00 <-- editieren / zitieren --> Unities abgeben: Nur für wuehlmaus
Ohne zu schauen ob das die mir Bekannte Version ist: Das Programm funktioniert grundsätzlich, also sind deine Daten etwas speziell. Sicher gibt es im Forum jemanden der prüfen kann wo es hakt, du solltest jedoch im eigenen Sinn die DWG mit Muster hochladen, so fällt das leichter und somit wird die Beteiligung (Chance) größer sein. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wuehlmaus Mitglied Landschaftsarchitekt
Beiträge: 350 Registriert: 03.12.2010 win 10, win7 64bit, ISDP 2016-2018(9)iRenderNXT, thearender, SketchUP, Adobe CS 5.5 DesignSuite
|
erstellt am: 29. Jun. 2016 08:55 <-- editieren / zitieren --> Unities abgeben:
|
wuehlmaus Mitglied Landschaftsarchitekt
Beiträge: 350 Registriert: 03.12.2010 win 10, win7 64bit, ISDP 2016-2018(9)iRenderNXT, thearender, SketchUP, Adobe CS 5.5 DesignSuite
|
erstellt am: 30. Jun. 2016 13:53 <-- editieren / zitieren --> Unities abgeben:
|
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008 Civil 3D 2018.1 Civil 3D 2016 64 Bit SP 3 mit DACH und Extensions W7 Professional 64Bit HP Z440 Intel Xeon CPU E5-1620 v4 32 GB RAM NVIDIA Quadro P4000
|
erstellt am: 30. Jun. 2016 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für wuehlmaus
|
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 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: 30. Jun. 2016 15:55 <-- editieren / zitieren --> Unities abgeben: Nur für wuehlmaus
Hallo Chris, ich habe mich gerade an dem Muster O_KREISE aus deiner Datei versucht und exakt die gleiche Fehlermeldung wie du bekommen. Dazu wurde das Musterfeld um 45 Grad gedreht?? Dann habe ich es mit einer gespiegelten Version versucht, da hopst die Schrafur komplett sich drehend über das Blatt, höchst mysteriös das ganze Die Schraffur wird über Eigenschaften anpassen auch nicht als Schraffur erkannt. In der gleichen DWG dann eines meiner Schraffurmuster versucht...klappt! Von daher denke ich mal auch, dass in deinen Mustern irgendwo der Wurm steckt, am GETPAT.LSP scheint es nicht zu liegen.
------------------ Gruß Heidi http://www.cad-point.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wuehlmaus Mitglied Landschaftsarchitekt
Beiträge: 350 Registriert: 03.12.2010 win 10, win7 64bit, ISDP 2016-2018(9)iRenderNXT, thearender, SketchUP, Adobe CS 5.5 DesignSuite
|
erstellt am: 30. Jun. 2016 17:00 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die Mühe! Dann bin ich ja "zufrieden" dass ich nicht zu doof bin ... Da wir eine Applikation haben mit der man recht komfortabel Schraffuren machen kann, werde ich sie wohl nachbauen - ich wollte es mir halt einfach(er) machen und die vorhandenen Schraffuren verwenden. Der Plan ist mal für Kollegen gemacht worden und ich wollte es jetzt 1zu1 umsetzen - jetzt wird es halt 1zu0.99999999 :-) bis zum nächsten mal chris ------------------ www.Gestalten-mit-AutoCAD.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 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: 01. Jul. 2016 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für wuehlmaus
|