danke für dein Beispiel, das ist unfassbar, mein script soll eigentlich genau das gleiche machen nur mit der Unterschied das es automatisch laufen soll,
so sieht es:
(setq lSolids (list)) ;; eine List die alle solids einer Zeichung enthalten soll
(vlax-for oTmp (foo_mSpace) ;; eine Funktion die ModelSpace zurückgibt
(if (= (vlax-property-available-p oTmp 'Volume) T)
(setq lSolids (append lSolids (list oTmp)))
)
)
(setq i1 0)
(repeat (length lSolids)
(progn
(setq oTmp1 (nth i1 lSolids))
(setq i2 i1)
(repeat (- (length lSolids) i1)
(progn
(setq oTmp2 (nth i2 lSolids))
(setq test1 (vlax-invoke-method oTmp1 'CheckInterference oTmp2 :vlax-true))
(setq i2 (+ i2 1))
);_ progn
);_ repeat
(setq i1 (+ i1 0))
);_ progn
);_ repeat
oTmp1 und oTmp2 sind die beiden Solid die getestet werden
test1 ist nur eine vorläufige debug Variable
das Code ist noch nicht vollständig weil es immerwieder ein Fehler an dieser Stelle auftritt:
(setq test1 (vlax-invoke-method oTmp1 'CheckInterference oTmp2 :vlax-true))
; error: Automation Error. Object was open for write
ich kann hier keinen Unterschied zwischen deinem und meinem Code finden, deins läuft ohne Fehler, oder hab ich doch etwar übersehen ?
------------------
( ... bennyboss ... )
[Diese Nachricht wurde von bennyboss am 15. Mrz. 2006 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP