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

Probleme mit Makros bei der Auswahl und Realisierung von Armaturen in einem Solidworks Modell

OSCAR$

Guest
Guten Morgen.
Ich machte eine Reihe von Elementen, 32, auf einer Platte und ich muss sie im Kontaktbereich mit diesem sammeln.
dazu habe ich ein einfaches Makro gemacht, da die Anzahl der Elemente variabel sein kann und ich einen Zyklus benutzte.
nicht alle Armaturen sind, sondern nur 6.
die zu verbindenden Kanten durch den Befehl ausgewählt werden Wählen Sie aus, wie ich ihre Koordinaten kenne, und ich denke, es ist die einzige verfügbare Funktion, die diese Methode verwendet, für mich notwendig.
die Suche auf dem Netz fand ich, dass die Methode der Auswahl "Probleme" hat, muss das Bild ausreichend gezoomt werden und alle Elemente verstehen, die ich angeschlossen habe.
Ich habe versucht, die Funktion zu nutzen Artikel 2 innerhalb und außerhalb des Zyklus erzeugt im ersten Fall das Makro nur das erste 6, während es im zweiten Teil einige Elemente kombiniert.
Anhang anzeigen 6847Anhang anzeigen 6847di seguito il programma in vba, gestohlen usando solidworks 2015.

Option explizit
dim swapp as sldworks. Schalungen
dim part als sldworks.modeldoc2
dim boolstatus als boolean
dim longstatus so lang, langwarnings as long
dim swmodview als sldworks.modelview

Teil Haupt()

set swapp = Anwendung. Schalungen

set part = swapp.activedoc
swmodview = part.activeview
dim passo, i als doppelt
dim delta_y, x_0, z als Doppel
x_0 = 159.26 / 1000
z = -1 / 1000
dim x_angle, y_angle als doppelt
x_angle = -45
y_angle = 0

für i = 0 bis 7
passo = (3.16 / 1000)
delta_y = (5,5 / 1000) + (i * passo)
boolstatus = part.extension.selectbyid2("", "edge", x_0, delta_y, z, true, 1, nichts, 0)
Nächste

dim radiiarray0 als Variante
dim radiis0 als doppelt
dim dist2array0 als Variante
dim dists20 als Doppel
dim conicrhosarray0 als Variante
dim conirhos0 als doppelt
dim setbackarray0 als Variante
dim setbacks0 als doppelt
dim pointarray0 als Variante
dim points0 als doppelt
dim pointdist2array0 als Variante
dim pointdist20 als doppelt
dim pointrhoarray0 als Variante
dim pointsrhos0 als doppelt
Radiarray0 = Radis0
Det2array0 = dists20
conicrhosarray0 = conirhos0
setbackarray0 = setbacks0
Punktarray0 = Punkte0
pointdist2array0 = pointdist20
Pointrhoarray0 = pointsrhos0
dim myfeature as sldworks. Funktion
myfeature = part.featuremanager.featurefillet3(195, 0.001, 0#, 0, 0, 0, 0, (radiiarray0), (dist2array0), (conicrhosarray0), (setbackarray0), (pointarray0), (pointdist2array0), (pointrhoarray0))

Endteil
 

Anhänge

  • raggio variabile - Copia.JPG
    raggio variabile - Copia.JPG
    285,1 KB · Aufrufe: 122
Hallo, ich habe mehrmals mit der Auswahl geschlagen, das Zoom-Problem ist real, und es gibt die Lösung, denn mit den richtigen Koordinaten sollten Sie keine Probleme haben, es ist der sicherste Weg zu wählen.
bevor selectbyid eingeben
Teil.setpickmode()

sollte verhindern, dass Entitäten in der Nähe der Koordinaten Ihrer Kante
 
Hallo, ich habe mehrmals mit der Auswahl geschlagen, das Zoom-Problem ist real, und es gibt die Lösung, denn mit den richtigen Koordinaten sollten Sie keine Probleme haben, es ist der sicherste Weg zu wählen.
bevor selectbyid eingeben
Teil.setpickmode()

sollte verhindern, dass Entitäten in der Nähe der Koordinaten Ihrer Kante
Hallo, danke für Ihre Hilfe.
weiter nicht arbeiten:
  • mit Artikel 2 innerhalb des Zyklus verbindet einige Elemente
  • mit Artikel 2 draußen funktioniert es nicht, weil einige Elemente sie nicht einmal mit dem manuellen Befehl verbinden können, so dass es keine macht, es kann nicht einmal die anderen tun.
  • von Artikel 2 intern od erweitert auf den Schaltzyklus durch parametrie des Befehls Wählen Sie aus
selectbyid2("", "edge", x_0, delta_y, z, false, 1, nichts, 1)
selectbyid2("", "edge", x_0, delta_y, z, true, 1, nichts, 0)
  • Par. Setpickmode ist immer innerhalb des Zyklus
  • während der Programmausführung ist das Makrofenster geöffnet und deckt manchmal das Modell ab, können Sie etwas ändern?
raggio variabile - 2.JPGWie Sie sehen können, ist das Element 7 nicht verbunden und die beiden Präzedenzfälle sind miteinander verbunden.
 
nichts ändert sich, wenn der Grafikbereich abgedeckt ist.
Sie sollten auch das Modell zusammen mit dem Makro zu testen
 
der für diese Kanten geltende maximale Radius 0,7 mm beträgt, mit 1 mm wird der Radius nicht von der dritten Kante nach vorne gedreht.
 
einfach aus der "Vereinbarung"-Funktion, kannst du das nicht tun?
Sie können alle Kanten auf der unteren Platte auswählen, von der Stange/Männer, die Ihnen erscheint, sobald Sie auf eine von ihnen klicken:
 

Anhänge

  • RACCORDA TUTTI.jpg
    RACCORDA TUTTI.jpg
    102 KB · Aufrufe: 12
einfach aus der "Vereinbarung"-Funktion, kannst du das nicht tun?
Sie können alle Kanten auf der unteren Platte auswählen, von der Stange/Männer, die Ihnen erscheint, sobald Sie auf eine von ihnen klicken:
Hallo, danke für die Antwort.
Ich habe es versucht, aber es funktioniert nicht, es wählt auch andere, die nichts schlagen.
mehr als alles andere, was ich daran interessiert bin, es durch Makro zu laufen, um die Anzahl der Elemente zu variieren.
 
Hallo, danke für die Antwort.
Ich habe es versucht, aber es funktioniert nicht, es wählt auch andere, die nichts schlagen.
mehr als alles andere, was ich daran interessiert bin, es durch Makro zu laufen, um die Anzahl der Elemente zu variieren.
sehr wahrscheinlich, wie sie bereits oben geschrieben haben, dass das Problem der Radius zu breit ist, der sich zu stark mit den benachbarten schneidet (durch Neugier, versuchen, es bis zu einem Wert zu reduzieren, der akzeptiert wird).
Diese Funktion sammelt alle Kanten, die zwischen den vertikalen Extrusionen und dem Boden gefunden werden; Wenn Sie keinen brauchen, können Sie sie einzeln deaktivieren, indem Sie auf die "Geisterlinie" dieser Kante klicken.

Aber ich wiederhole, Sie können das System nicht mit unverträglichen Strahlen zwingen. nicht in der gleichen Funktion, zumindest
 

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