Dr.Lube
Guest
Hallo alle,
Ich versuche, erschöpferisch zu sein, da ich im Titel nur Totbriefe verwenden kann (und ich habe sie alle benutzt!)
für die Arbeit muss ich die Berechnung des Zentrums der Steifigkeit automatisieren.
was ich tue, ist in polyline Regionen umwandeln und gehen, um die Koordinaten des Zentrums und die Hauptträgheitsmomente zu extrahieren. alles wird auf eine Unterstützung Excel-Datei gesetzt, wo ich die notwendigen Berechnungen durchführen, um die Koordinaten des Trägheitszentrums zu finden, die ich dann als Punkt in Autocad einfügen werde.
Um dies zu nutzen zwei Lispel, die Datenextraktion wird von mir gemacht, und während die von Export und Weitergabe von Daten von Excel I fand es im Netz.
das Problem Ich habe aufgetreten ist die Unfähigkeit, einen Zyklus mit progressivem Index zu machen, um innerhalb der Excel-Datei zu bewegen. im Import in der Tat überschreibe ich immer die gleiche Linie! Ein weiteres Problem ist, dass die Werte mit dem Punkt zu mir importiert werden, anstatt mit dem Komma.
Fehlen des Teils, in dem ich die verarbeiteten Daten nehme, aber ich habe Schritt für Schritt
Die Frage ist also: Wie komme ich voran?
unter dem Code für die Verwendung von Excel (Annex)
Danke
Den Haag
Ich versuche, erschöpferisch zu sein, da ich im Titel nur Totbriefe verwenden kann (und ich habe sie alle benutzt!)
für die Arbeit muss ich die Berechnung des Zentrums der Steifigkeit automatisieren.
was ich tue, ist in polyline Regionen umwandeln und gehen, um die Koordinaten des Zentrums und die Hauptträgheitsmomente zu extrahieren. alles wird auf eine Unterstützung Excel-Datei gesetzt, wo ich die notwendigen Berechnungen durchführen, um die Koordinaten des Trägheitszentrums zu finden, die ich dann als Punkt in Autocad einfügen werde.
Um dies zu nutzen zwei Lispel, die Datenextraktion wird von mir gemacht, und während die von Export und Weitergabe von Daten von Excel I fand es im Netz.
das Problem Ich habe aufgetreten ist die Unfähigkeit, einen Zyklus mit progressivem Index zu machen, um innerhalb der Excel-Datei zu bewegen. im Import in der Tat überschreibe ich immer die gleiche Linie! Ein weiteres Problem ist, dass die Werte mit dem Punkt zu mir importiert werden, anstatt mit dem Komma.
Code:
(vl-load-com)
(defun c:inerzia)
(setq acapp (vlax-get-acad-object))
(Indexsatz 1)
(sing)
(Sectq ent (Auto(entsel));
(setq ent (vlax-ename->vla-object ent));
(setq xy (vla-get-centroid ent)
(Sectq i (vla-get-principalmoments ent));
(setq ix (vlax-safearray-get-element (vlax-variant-value i) 0); Variante ist ein Array von 2 Elementen, extrahieren die erste ix
(setq iy (vlax-safearray-get-element (vlax-variant-value i)); siehe oben, ich extrahiere das zweite iy
(setq x (vlax-safearray-get-element (vlax-variant-value xy) 0) Koordinatenzentrum x
(setq y (vlax-safearray-get-element (vlax-variant-value xy) 1)
; die Idee war nun, ein Array zu erstellen, das alle Daten des Zyklus enthält. hier ist definitiv falsch, es wird bei dem letzten Versuch, den ich gemacht habe zu verstehen, wie es funktioniert
(setq cord (vlax-make-safearray vlax-vbdouble '(1.3)))
(vlax-safearray-put-element cord 0 index ix)
; unten ist, wie ich es zuerst gemacht, ohne Daten einzeln zu extrahieren. Ich hatte 2 Listen, die, wenn in Exel eingefügt, wichtig waren "richtig" in 4 Spalten
(setq i (vlax-safearray->list (vlax-variant-value i)))
(setq xy (vlax-safearray->list (vlax-variant-value xy))
; Ausfuhr von Listen
(setq xl (vlax-get-or-create-object "excel.application"))
(openexcel "c:\\prova.xls" nil)
;apro die test.xls-Datei in diesem Pfad, auf der Seite "Inertia" und mit nil Ich sehe nicht, dass es in der Taskleiste erscheint
(putcell "a1" xy)
(Eingabezelle c1 i)
(closeexcel "c:\\prova.xls")
(Setq-Index (1+-Index)); Zeilenzähler erhöhen
;
(princ)
Ende

Die Frage ist also: Wie komme ich voran?
unter dem Code für die Verwendung von Excel (Annex)
Danke

Den Haag