| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Import von Render-Materialien (1080 mal gelesen)
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 17. Sep. 2005 01:15 <-- editieren / zitieren --> Unities abgeben:
Ich kann Materialien auf diese Weise in die Zeichnung importieren: (c:matlib "I" "copper" (findfile"render.mli")) Es geht aber immer nur ein Material auf einmal, wenn ich 50 brauche, ist das doch bekloppt, das 50 mal aufzurufen - gibt es eine andere Lösung? Und noch eine Frage: das gibt immer eine 1 zurück, auch wenn das Material gar nicht gefunden wurde, z.B. (ups, ein kleiner Tippfehler): (c:matlib "I" "copppper" (findfile"render.mli")) => 1 Die Online-Doku schweigt sich über die Rückgabe der Funktion aus. Sie gibt offensichtlich immer 1 zurück, außer wenn der Name zu lang ist - dann gibt sie Müll zurück. Gibt es was eleganteres, als nach den 50 Aufrufen, die ich ohnehin schon habe, dann jedesmal (c:matlib "L") aufzurufen und in der Liste nachzusehen, ob der Aufruf erfolgreich war oder nicht? Der User hat ja in seiner unendlichen Weisheit die Freiheit, in seiner render.mli zu löschen oder umzubenennen, was er will;-) Gruß, Axel Strube-Zettler
------------------ Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 19. Sep. 2005 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für mapcar
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 19. Sep. 2005 09:11 <-- editieren / zitieren --> Unities abgeben: Nur für mapcar
@mapcar wie kann man eigentlich einem Elemnt INNERHALB einer Blockdefinition ein Material vergeben ? der MAT-Befehl benötigt dazu ja einen Auswahlsatz, das geht ja bei Elementen innnerhalb einer Blockdefinition ja nicht ! Ich machs jetzt so,dass ich direkt die EEDs schreibe, gibts da vielleicht was einfacheres hat ziemlich lange gebraucht, biss ich die EED-Liste kapiert habe, leider undokumentiert. (setq edate (append edate (list (list -3 (list "AVE_FINISH" (cons 1002 "{") (cons 1070 0) (cons 1005 reg) (cons 1002 "}") ) (list "AVE_ENTITY_MATERIAL" (cons 1002 "{") (cons 1000 "") (cons 1002 "{") (cons 1071 0) (cons 1070 0) (cons 1070 0) (cons 1002 "{") (cons 1070 0) (cons 1070 0) (cons 1070 0) (cons 1040 0.0) (cons 1002 "}") (cons 1070 0) (cons 1070 0) (cons 1002 "{") (cons 1002 "}") (cons 1002 "}") (cons 1002 "{") (cons 1002 "{") (cons 1071 0) (cons 1070 4) (cons 1002 "}") (cons 1002 "}") (cons 1002 "{") (cons 1002 "{") (cons 1071 0) (cons 1002 "{") (cons 1002 "{") (cons 1040 (car xy)) (cons 1040 0.0) (cons 1070 0) (cons 1002 "}") (cons 1002 "{") (cons 1040 (cadr xy)) (cons 1040 0.0) (cons 1070 0) (cons 1002 "}") (cons 1040 0.0) (cons 1070 0) (cons 1002 "}") (cons 1002 "{") (cons 1040 (- (car p2) (car p1))) (cons 1040 (- (car p3) (car p1))) (cons 1040 0) ; (cons 1040 (car p1)) (cons 1040 (- (cadr p2) (cadr p1))) (cons 1040 (- (cadr p3) (cadr p1))) (cons 1040 0) ; (cons 1040 (cadr p1)) (cons 1040 (- (caddr p2) (caddr p1))) (cons 1040 (- (caddr p3) (caddr p1))) (cons 1040 0) ; (cons 1040 (caddr p1)) (cons 1070 1) (cons 1002 "{") (cons 1002 "}") (cons 1070 0) (cons 1002 "}") (cons 1002 "}") (cons 1002 "}") (cons 1011 p1) (cons 1011 p2) (cons 1011 p3) (cons 1011 p4) (cons 1002 "}") ) ) ) ------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 19. Sep. 2005 09:55 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von fuchsi: wie kann man eigentlich einem Elemnt INNERHALB einer Blockdefinition ein Material vergeben?
Das mit dem Auswahlsatz ist ein bisschen störend, aber kein Grundsatzproblem. Ich habe zur Materialvergabe eine kleine Funktion, die das Entity in einen AWS einpackt und dann rmat aufruft. Das sollte eigentlich auch innerhalb von Blockdefinitionen funktionieren. Man kann ja testen: Ist das Argument ein AWS, passiert nix " " " ein Entity, wird ein AWS draus gemacht " " " eine Liste mit Entities, ebenso AWS Der Tipp mit dem Stern als Material bringt mich schon etwas weiter - da könnte ich die Materialien, die ich brauche, in eine separate .mli packen und mitliefern (die ganze render.mli auf diese Weise laden, wäre wohl ein bisschen zu viel des guten). Mit den EEDs will ich mich gar nicht erst befassen, da ich in diesem Projekt versuche, die Bälle möglichst flach zu halten und mich auf reine Command-Programmierung beschränke. Die 3D-Körper können ja sowieso nicht anders erzeugt werden. Tiefergehende Techniken möchte ich da gar nicht drin haben, da die Portabilität auf andere Systeme hohe Priorität hat. Danke, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 19. Sep. 2005 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für mapcar
Hallo Mapcar ! wenns es sich um Elemente innerhalb einer Blockdefinition handelt, kann man diese leider nicht in einen Auswahlsatz geben. Befehl: (setq a (tblobjname "BLOCK" "TEST")) <Objektname: 7ef765f8> Befehl: (setq b (entnext a)) <Objektname: 7ef76608> Befehl: (setq c (ssadd b)) nil
leider kann man nur wirklich selektierbare Elemente zu einem Auswahlsatz geben, und keine Elemente innnerhalb einer Blockdefinition. Also musste ich leider den Umweg über die EEDs machen ------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 19. Sep. 2005 10:49 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|