Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  getpat.lsp - Schraffurmuster extrahieren

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:  getpat.lsp - Schraffurmuster extrahieren (2128 mal gelesen)
wuehlmaus
Mitglied
Landschaftsarchitekt


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

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 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 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
良い精神




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: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 28. Jun. 2016 21: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 wuehlmaus 10 Unities + Antwort hilfreich

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


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

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 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


050622_Zeichenvorlage.dwg

 
Stimmt - hast du recht, hätte ich selber drauf kommen können :-)

------------------
www.Gestalten-mit-AutoCAD.de

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

wuehlmaus
Mitglied
Landschaftsarchitekt


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

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 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

hat noch jemand eine Idee warum es nicht klappt - ansonsten muss ich mal versuchen einen anderen Weg zu gehen ...

Chris

------------------
www.Gestalten-mit-AutoCAD.de

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

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


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

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 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 wuehlmaus 10 Unities + Antwort hilfreich

andere Lösung:

_EXPLODE -> HATCHMAKER.lsp

------------------
mfg Roman

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: 30. Jun. 2016 15:55    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 wuehlmaus 10 Unities + Antwort hilfreich

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


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

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 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

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


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: 01. Jul. 2016 09:37    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 wuehlmaus 10 Unities + Antwort hilfreich

Moin Chris,

vielleicht ist das so eine Art Schutz von der Appli damit die Schraffuren eben nicht so schnell nachgebaut werden können 

Ein schönes Wochenende 

------------------
Gruß Heidi
http://www.cad-point.de

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