Hi,
kurz zu mir ich hab noch nie was mit der Lisp Macrosprache gemacht dafür mit anderen Spachen Programmiersprachen wie C++, Pascal und PHP.
Ich will viele Modelldaten wo ich den Pfad weis in stp Daten exportieren.
Ich hab dazu dieses Script gefunden:
http://osd.cad.de/lisp_3d_54.htm
Da wird ab Zeile 57 eine schleife angelegt und die Baugruppen exportiert. Wenn ich das Richtig verstehe muss ich aber die einzelne Modellgruppe in den Programm erst geöffnet haben um das Script zum laufen zu bekommen.
Jetzt habe ich mir gedacht, ich leg ein Array an wo der Pfad meiner ganzen Modelle drinne steht und ich die schleife nutze um alles zu exportieren.
Ich hab folgenden Code zeilen gefunden und auch soweit verstanden (hoffe ich)
Code:
(in-package li)(sd-defdialog 'stlout
:Dialog-title "STL Output"
:variables '(
(parts :value-type art :multiple-items t :title "Parts")
)
k-action '(progn
(display "Selected parts:")
(dolist (part parts)
(display (sd-inq-obj-pathname part))
;; now do something with each part (such as storing)
)
)
)
Wie bringe ich jetzt die 2 Scripte zusammen?
Da ich keinerlei Erfahrung habe mit der Sprache wäre es schön wenn jmd eine Codeschnipsel oder Ansatz mir geben könnte wie ich das realisieren könnte.
Vielen vielen Dank!
//Update ich war über den nachmittag nicht untätig hab mir einige Codes durchgelesen und auch ein paar Tutorials könnte mal bitte jemand drüber schauen ob das so funktionien könnte?
CSV Liegt vor als
C:/PFAD/PFAD.end,
C:/PFAD/PFAD.end,
C:/PFAD/PFAD.end,
Code:
;========================================================================
;= Function PARSE_NUMS (string)
;= Arguments: string - Text string to be comma parsed
;= Returns: A list of the elements of the string converted to numbers
;= Copyright Jeff Winship 2003. All rights reserved.
;= www.pixelgraphicsinc.com
;===============================================================3/30/2003
(defun parse_nums (st / a k lst)
(setq k 1)
(setq a "")
(setq lst nil)
(repeat (strlen st)
(if (= (substr st k 1) ",")
(progn
(setq lst (append lst (list (atof a))))
(setq a "")
)
(setq a (strcat a (substr st k 1)))
)
(setq k (+ k 1))
)
(setq lst (append lst (list (atof a))))
)
(defun c:rects ()
(setq f (open "c:/test/sampledata.csv" "r")) ;-Open the data file
(setq dataline (read-line f)) ;-Read the header line
(setq dataline (read-line f)) ;-Read the 1st data line
(while (/= dataline "EOF") ;-Loop until end of file
(setq dataline (parse_nums dataline)) ;-Parse the data line
(command "vbastmt" (Strcat "AcadApplication.Documents.OPEN"(chr 34) dataline)(chr 34)(chr 13)) ;-hier datei im programm öffnen
(sd-call-cmds (step_export :select teil :filename sd-inq-obj-contents-name teil) ;-hier exportieren
(setq dataline (read-line f)) ;-Read the next data line
)
(close f) ;-Close the file!!!
)
VIELEN DANK!
------------------
cu
Chakky
[Diese Nachricht wurde von Chakky am 15. Mai. 2013 editiert.]
[Diese Nachricht wurde von Chakky am 15. Mai. 2013 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP