Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Macro für revolved boss Feature

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
E-Book: Simulation für Hightech Innovationen
Autor Thema:  Macro für revolved boss Feature (2984 mal gelesen)
GunnarHansen
Mitglied
Engineer


Sehen Sie sich das Profil von GunnarHansen an!   Senden Sie eine Private Message an GunnarHansen  Schreiben Sie einen Gästebucheintrag für GunnarHansen

Beiträge: 752
Registriert: 16.09.2009

erstellt am: 02. Mrz. 2012 13:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Mit einer planen Fläche markiert habe ich versucht ein Macro zu machen der

Insert/Revolved Boss anwählt
Sketch auf Normaler Sicht aufrichtet
Bereit eine Konstruktions Linie zu machen. (Centerline)

Aber wenn ich das Macro abspiele, kriege ich nur ein Sketch hervor. Ist zwar Normal aufgerichtet, aber Centerlinie muss ich selber anlegen. Und danach auch Feature Revolved Boss angreifen....

Geht das so nicht mit einem Macro?

mfG Gunnar
Anfänger.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 02. Mrz. 2012 14:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GunnarHansen 10 Unities + Antwort hilfreich

Hallo Gunnar,

Zitat:
Original erstellt von GunnarHansen:
Mit einer planen Fläche markiert habe ich versucht ein Macro zu machen der
[...]
Aber wenn ich das Macro abspiele, kriege ich nur ein Sketch hervor. Ist zwar Normal aufgerichtet, aber Centerlinie muss ich selber anlegen. Und danach auch Feature Revolved Boss angreifen....

Geht das so nicht mit einem Macro?



Es hört sich so an als willst du die Bedienung der Knöpfe automatisieren, nicht ein Makro schreiben, was die Linie zieht und daraus ein Feature erzeugt.

Punkt 1: wie hast du das Makro gemacht, ich vermute per Makrorekorder? Dann solltest du wissen, das der Makrorekorder, sagen wir mal wohlwollend, seine Eigenheiten hat. Unter anderem die, dass er viele Dinge nicht oder nicht richtig aufzeichnet und nur selten dazu genutzt werden kann, allgemeingültige, vernünftige, saubere und wiederverwendbare Makros zu erzeugen.

Punkt 2: wenn du die Bedienung automatisieren willst nimmst du nicht den Makrorekorder von SolidWorks, sondern Tools wie Auto-It. Aber vielleicht reichen dir ja auch schon einfache Makros mit Sendkeys, ein Beispiel findest du hier in einem alten API Tutorial, sollte auch heutzutage noch funktionieren.

Wenn du per Makro die Features erzeugen willst musst du ganz anders denken, du musst dir aus der API Hilfe die Befehle für die Features raussuchen, dann überlegen was die brauchen und dich langsam durchhangeln, bist du alles an Objekten zusammen hast. Interaktive Eingaben während des Makroablaufs durch den Nutzer ist sehr schwierig bis unmöglich, so wie du dir das vorstellst geht es also nicht direkt, nur eben durch Knöpfchen-Automatisierung.

Vielleicht geht es mit SldWorks::RunCommand und dem raussuchen der passenden Kommandos, aber das hab ich noch nie probiert.

Ciao,
Stefan

PS: da die meisten hier in Deutschland mit einem deutschen SolidWorks arbeiten solltest du bei zukünftigen Fragen auch besser die deutschen Begriffe nutzen, das macht das Helfen leichter. Wär doch doof, wenn jemand dir nicht hilft, bloß weil er nicht weiß, was wohl ein Revolver-Boss ist  

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GunnarHansen
Mitglied
Engineer


Sehen Sie sich das Profil von GunnarHansen an!   Senden Sie eine Private Message an GunnarHansen  Schreiben Sie einen Gästebucheintrag für GunnarHansen

Beiträge: 752
Registriert: 16.09.2009

erstellt am: 02. Mrz. 2012 14:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Stefan

1. Ja, ich habe Makrorecorder gebraucht. Danke für die Warnung! Das heisst recording ist nichts wert...

Ich möchte einfach ein Paar Klicks einsparen. Nichts vollautomatisches.

Die deutschen Menu Nahmen kenne ich leider nicht immer. Aber hoffentlich gehts trotzdem.

Ich werde mir mal dein Link und deine Kommentare gut angucken.

Danke und schönes Wochenende noch

Gunnar

Edit: das Link ist genau richtig. Los gehts.  Ü's unterwegs!

[Diese Nachricht wurde von GunnarHansen am 02. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GunnarHansen
Mitglied
Engineer


Sehen Sie sich das Profil von GunnarHansen an!   Senden Sie eine Private Message an GunnarHansen  Schreiben Sie einen Gästebucheintrag für GunnarHansen

Beiträge: 752
Registriert: 16.09.2009

Creo Parametric 9.0.5.0
Creo View 9.1
Windchill 12.1.0.3-6.0.0
Google Chrome
Lenovo Thinkpad P15
3DConnexion Wireless SpaceMouse

erstellt am: 05. Mrz. 2012 12:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich brauche Hilfe mit "sendkey".
Bin da leider ganz Anfänger in sw.

Habe jetzt in einem texteditor (Notesblok) folgenden .txt geschrieben:
(Hier geklaut:  http://solidworks.cad.de/apitut_kap01.htm  )


Sub main()
    ' Wenn Sie das Makro aus SolidWorks heraus starten, muss vorher
    ' ein anderes Fenster den Focus haben, damit es funktioniert.
    ' Am einfachsten erledigen wir das mit einer Messagebox
    MsgBox "Makro geladen und bereit ..."
    '
    AppActivate "SolidWorks 98Plus"
SendKeys "%ibr^8l{TAB 2}c",True
End Sub

Hier ist die Sendkey erklärung (Mein SW ist ja englisch):

'%  ALT
'i  Insert
'b  Boss
'r  Revolve
'^8 Normal Ansicht einrichten. (STRG und (die echte)8 gleichzeitig halten)
'l  Line
'{TAB 2}
'c  Construction line

Aber wie starte ich den "Sendkey" von Solidworks?
Muss die Datei .exe  oder .vbs oder .??? heissen?
Muss/kann die Datei in C:\...\macros\ liegen.

mfG Gunnar

Edit: jetzt hoffentlich mit Line, construction Line angewählt. (l, TAB 2, c)

[Diese Nachricht wurde von GunnarHansen am 05. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GunnarHansen
Mitglied
Engineer


Sehen Sie sich das Profil von GunnarHansen an!   Senden Sie eine Private Message an GunnarHansen  Schreiben Sie einen Gästebucheintrag für GunnarHansen

Beiträge: 752
Registriert: 16.09.2009

erstellt am: 06. Mrz. 2012 10:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


okbox.jpg


error5.jpg


debug.jpg

 
OK.

Hab jetzt den .txt in .swb geändert. Placiert in c\...\macros.
Ich kann ihn starten mit einer Taste vom Keybord. Leuft. Ich sage OK zur Box.
Aber das Programm scheitert an: 

  AppActivate "SolidWorks 98Plus"

Was tun? Habe, ohne erfolg, versucht die Linie auszukommentieren, Solidworks 2011 statt 98Plus zu schreiben.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GunnarHansen
Mitglied
Engineer


Sehen Sie sich das Profil von GunnarHansen an!   Senden Sie eine Private Message an GunnarHansen  Schreiben Sie einen Gästebucheintrag für GunnarHansen

Beiträge: 752
Registriert: 16.09.2009

Creo Parametric 9.0.5.0
Creo View 9.1
Windchill 12.1.0.3-6.0.0
Google Chrome
Lenovo Thinkpad P15
3DConnexion Wireless SpaceMouse

erstellt am: 07. Mrz. 2012 15:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


shrtcut.jpg

 
Halloo  

Jetzt leufts aber fast immer... Manchmal Ein bischen zu schnell?


Erklärung Teilweise in Englisch. Da mein SWXSolidWorks in englisch leuft.

Die Buchstaben im Macro müssen also übersetzt werden. Wer kann helfen???

Hab 4 ausgaben davon gemacht:

1. Revolve material weg (Cut)            keybord: SHIFT+r
2. Revolve material auflegen (Boss)      keybord: ALT+r
3. Extrudieren material weg (Cut)        keybord: SHIFT+e
4. Extrudieren material auflegen (Boss)  keybord: ALT+e

Wenn ich also eine kontour Ausbohren will:

Sketch Plan anwählen und SHIFT+r auf dem Keybord. Dann kommt man direct in den normal eingerichtetem Sketcher. Und er ist bereit die Zenterlinie zu machen! Und wenn man rausgeht ist das Material weggeschnitten. Spart mir um die 10 Mauseclicks.

Es wäre gut, wenn ich das Program mit "Timer" langsamer machen könnte. Manchmal gehts zu schnell.
Aber das hab ich noch nicht hingekriegt. Wer kann helfen???


Hier das Macro:

Dim swApp As Object
Sub main()
Set swApp = Application.SldWorks
SendKeys "^8"       '00.  Plane normal to screen
SendKeys "%"        '10.  ALT
SendKeys "i"        '20.  Insert
SendKeys "b"        '30.  b=Boss     c=cut
SendKeys "^8"       '40.  Plane normal to screen
SendKeys "r"        '50.  r=Revolve  e=Extrude
SendKeys "t"        '60.  Tools
SendKeys "k"        '70.  Sketch
SendKeys "l"        '80.  Line
SendKeys "{ESC}"    '90.  Esc
SendKeys "{TAB 3}"  '100. TAB x 3
SendKeys "c"        '110. Construction Line
End Sub


Macro wieder hier vorbei


Use like this:
Either:
With a texteditor Save this txt as a .swb file and place in dir: "macros"

Or:
Go to Tools > Macro > New.
Save the macro at desired location
Now replace the codes in that with following codes
Save the macro and check.


'macros dir should be same place as the SLDWORKS.exe-file
'Before running from sldprt: select the Sketching plane first!
'In #tools#Costumize#keybord#Category#Macros chose a keybord
'shortcut
'Best regards Gunnar

'PS
' Why Esc line 90.?
' Strange but must be there to accept TAB next line)

mfG Gunnar

[Diese Nachricht wurde von GunnarHansen am 07. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 09. Mrz. 2012 08:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GunnarHansen 10 Unities + Antwort hilfreich


23744_sendkey-macrobutton.png

 
Hallo Gunnar,

das sieht doch gut aus und läuft bei mri auf meiner Büchse mit dem SW2011 x64 auf englisch umgestellt auch gut durch, eröffnet in einem neuen Teil auf einer vorgewählten Fläche eine Skizze, dreht die auf normale Ansicht und aktiviert die Konstruktionslinie zum malen.

Ich hab es einen Tick angeändert, spart ein paar Zeile und wählt direkt die Konstruktionslinie an:

Code:

Sub main()
SendKeys "%"        '10.  ALT
SendKeys "i"        '20.  Insert
SendKeys "b"        '30.  b=Boss    c=cut
SendKeys "r"        '50.  r=Revolve  e=Extrude
SendKeys "t"        '60.  Tools
SendKeys "k"        '70.  Sketch
SendKeys "n"        '80.  l=Line n=Centerline
SendKeys "^8"      '00.  Plane normal to screen
End Sub

Das "Normal auf" mach ich erst zum Schluss (bzw. ich würde es weglassen, aber ich skizzier auch in der 3D Ansicht), dass AppActivate hab ich weggelassen, das arbeitet zumindest bei mir auch stabil, wenn ich es aus SolidWorks heraus aufrufe.

Ich binde das allerdings nicht per Tastaturshort über das macro-Verzeichnis ein, sondern über einen benutzerdefinierten Makroknopf, dem du auch einen Tasturkürzel zuweisen kannst, dafür kann aber das Makro liegen wo es will. Ist vielleicht Geschmackssache. Ach ja, das Makro sollte als SWP abgelegt werden, nicht als SWB, das gab es gaaaaaanz früher; da waren die SolidWorks Basic Macros reine Textdatei, seit der 2001Plus glaube ich waren es dann SolidWorks VBA Projects, also "richtige" VBA-Projekte. Die SWB werden zu Laufzeitbeginn immer automatisch zu SWP konvertiert, das kann durchaus zu Hängern oder auch Fehler führen, wenn es schon ein Makro mit demselben Namen als SWP gibt, dass im Zugriff ist.

Zitat:
Original erstellt von GunnarHansen:
Es wäre gut, wenn ich das Program mit "Timer" langsamer machen könnte. Manchmal gehts zu schnell.
Aber das hab ich noch nicht hingekriegt. Wer kann helfen???


Das verstehe ich nicht ganz, was meinst du mit zu schnell? Versuch es auch mal über den Makroknopf statt über reinen Shortcut, vielleicht liegt es daran.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GunnarHansen
Mitglied
Engineer


Sehen Sie sich das Profil von GunnarHansen an!   Senden Sie eine Private Message an GunnarHansen  Schreiben Sie einen Gästebucheintrag für GunnarHansen

Beiträge: 752
Registriert: 16.09.2009

erstellt am: 09. Mrz. 2012 11:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Stefan.

Danke für die optimierung und Erklärungen!
üs unterwegs.
n=construktionslinie.  Das war mir neu. Danke!

Ich habe erlebt, dass nach mehreren Versuchen das Program nicht alles mitnehmt. Habe gedacht die tasten "werden zu schnell gedruckt vom Programm". Ein extra ^8 hat mir  da geholfen..... Glaube ich jedenfals.
Gibt es einen "Timer"?

Ich werde den Macroknopf Tip mal versuchen.

Wie sieht das aus mit den deutschen Kommandos/Buchstaben?

mfg Gunnar

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 09. Mrz. 2012 11:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GunnarHansen 10 Unities + Antwort hilfreich


23744_deutsche-tastenkuerzel.png

 
Zitat:
Original erstellt von GunnarHansen:
Wie sieht das aus mit den deutschen Kommandos/Buchstaben?

Code:
Sendkeys "%ealxsmm{ENTER}"

Das zweite m (und das Enter dahinter zum Übernehmen) ist dafür notwendig, weil im Skizzenelementeuntermenu das m zweimal vergeben ist. Ich kann bei mir die Kürzel ganz einfach sehen, sobald ich die ALT-Taste drücke werden in den Menus die einzelnen Buchstaben, die auf die Shortcuts reagieren, unterstrichen, das macht das mit dem Raustüfteln für die Sendkeys viel einfacher    

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz