• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Makrofehler bei Importpunkten von txt

omar91

Guest
Hallo alle, mein Name ist omar und ich bin neu im Forum. Ich bin Maschinenbaustudent (Studentin) und ich begann gerade mit Solidworks.
nicht einen Befehl gefunden haben, um eine Reihe von Punkten zu importieren, Ich suchte im Internet ein Makro, das mir erlaubte, dies zu tun. Ich fand einen, der zu arbeiten schien und dass ich zurückbringe:

Teil Haupt()

set swapp = Anwendung. Schalungen
set part = swapp.activedoc
swapp.activedoc.activeview.framestate = 1
dim skpoint als Objekt

Öffnen Sie "c:\users\omar\desktop\material thesis\voluta\linee\prova.txt" für Eingabe als #1
part.sketchmanager.insert3dsketch true
nicht eof(1)
Eingabe #1, x, y, z
skpoint = part.sketchmanager.createpoint(x, y, z)
Schleifen


Ende

Ich sage, es schien, weil die Werte der Punkte verzerrt sind, z.B. 45,888 wird 45888, 451,888444 wird 451888.444, d.h. alle Zahlen werden von einem Faktor 1000 erhöht; außerdem werden für Werte des Terna "klein" (s. unterhalb des Zehnten, obwohl es in Wirklichkeit ziemlich zufällig erscheint), die Zahlen direkt als 0 gelesen (für "Resolvere" dachte ich, einen reduzierten Faktor 1000 zu geben.
für meine Fähigkeiten all das erscheint als "mysteriös", kann mir jemand Erklärungen geben? Danke.
 
Hi.
das Makro funktioniert gut und wie Sie sagten, Sie müssen die Koordinaten um 1000 teilen, dies, weil der "Call" auf die "Createpoint" Bienen, erfordert die Werte in Metern, dies für alles, was die Programmierung in Solidworks betrifft.
Ich schlage vor, Sie erklären immer die richtigen Variablen für die Art der Daten enthalten, in Ihrem Doppelfall (doppeln bewegten Komma, ist eine Art vorgegebener Zahl mit mindestens zwei Dezimalen, z.B. Drehungen 35 in 35.00).
Die erstellten Punkt Bienen benötigen Sie drei Doppelkoordinaten, vba nicht immer, sondern für Sie diese "Übersetzung".

Ich empfehle immer dem Dezimaltrenner, in Ihrem Fall das ".", das mit dem Satz in den zusätzlichen Einstellungen im Land und in der Sprache im Fenster-Steuerfeld übereinstimmen muss, ansonsten der Computer die Zahlen anders interpretiert.

Ich erlaubte mir, das Makro zu ändern, indem ich anders die Variable "swapp" und erklären x,y,z als Doppel.
Darüber hinaus Ich habe nicht eingefügt, um die grafische Einfügung der Entitäten in die Schöpfungsphase innerhalb der Skizze zu sehen, diese Geschwindigkeit exponentiell das Makro in der Ausführungsphase, insbesondere wenn die Punkte werden viele.
Ich habe die Skizze geschlossen.

p.s.: Wie Sie vielleicht wissen, wenn Sie vor allem schreiben Sie eine ' (Apostrophe), die Linie soll kommentiert werden und erscheint in grün und wird nicht in der Ausführung Phase gelesen.

Guten Tag
Jenuar

hier ist der aktualisierte Code

dim x als Doppel
Dim y als Doppel
dim z als Doppel
dim swapp as sldworks. Schalungen
dim part als sldworks.modeldoc2
Teil Haupt()

set swapp = Anwendung. Schalungen
set part = swapp.activedoc
swapp.activedoc.activeview.framestate = 1

dim skpoint as sldworks. Skizze

"c:\prova.txt" für Eingabe als #1 öffnen
part.sketchmanager.insert3dsketch true
"um die Grafik beim Einfügen einzufrieren, ist alles viel schneller
Teil.sketchmanager.addtodb = true

nicht eof(1)
Eingabe #1, x, y, z
skpoint = part.sketchmanager.createpoint(x / 1000, y / 1000, z / 1000)
Schleifen

'Reprise grafische Insertion
Teil.sketchmanager.addtodb = falsch
' Ich schließe die Skizze
Teil.sketchmanager.insert3dsketch false
Ende
 
Danke, Jenuary! wahrscheinlich, als ich versuchte, um 1000 in das Makro zu teilen, hatte ich etwas falsch und dann wieder 0.
Ich danke Ihnen auch für die Verbesserungen, die Sie gemacht haben und ich werde jetzt versuchen. in meinem konkreten Fall (wir sagen, die dringendste, für die These) ist die Anzahl der Punkte begrenzt (etwas txt aus etwa 50 Punkten), aber durch Neugier hatte ich versucht, auch mit einem txt mit einer viel höheren Anzahl von Punkten und tatsächlich nach einer Weile sw war abstürzen.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben