Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro Probleme

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
  
Optimieren Sie Ihre SOLIDWORKS Tasks mit Visiativ myCADtools - Jetzt Kostenlos testen >>, eine Pressemitteilung
Autor Thema:  Makro Probleme (1920 mal gelesen)
Joscha P.
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 216
Registriert: 06.05.2010

SWX 2011 SP4
EPDM 2011 SP4
Microsoft Windows 7 Professional SP1 64 Bit
Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz
12 GB RAM

erstellt am: 28. Jul. 2010 16:30    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 zusammen,

ich habe da ein kleines Problem mit der Erstellung eines Makros. Ich muss dazu sagen, dass ich nicht alls zu versiert bin makros zu schreiben und garde erst dabei bin mit VB in den Kopf zu kloppen. Trotz alle dem muss ich ein kleines Programm scheiben und Baugruppen mit Modulen zu versehen.

Da habe ich nun ein Kleines Problem, und zwar habe ich es mir so gedacht das ich mir Listenfelder Erstellen will in den ich die Einzelnen Module auswähle, diese dann anschließen in einen BG lade und sie als Teil abspeichere.

nu hängt es bei mir schon beim ersten und zweiten Listenfled.
Im ersten Listen weld werden mir die gewünschen einträge alle Doppelt angezeigt, finde aber nicht den Fehler.

Das zweite Listenfeld wollte ich ich über eine If- Then funktion füllen, damit keine unsinnigen Baugruppen erstellt werden koennen. aber wenn ich das Laden möchte passiert nix. Kann mir einer sagen woran das liegen könnte?

zur erläuterung mein Code:

Private Sub UserForm_Layout()

    'Anbindung Dach
    lstDach.AddItem "ohne Dach", 0
    lstDach.AddItem "Sandwich 30mm STW-HP", 1
    lstDach.AddItem "Sandwich 30mm STW-STW", 2
    lstDach.AddItem "GFK- Sprigel STW-HP", 3
       
 
End Sub

Private Sub lstFront_Change()

If lstDach = "ohne Dach" Then
    AddItem "ohne Front"
    AddItem "Stirnwand Sandwich 30mm"
   
If lstDach = "Sandwich 30mm STW-HP" Then
    AddItem "ohne Front"
    AddItem " Stirnwand Sandwich 30mm"
   
If lstDach = "Sandwich 30mm STW-STW" Then
    AddItem "ohne Front"
    AddItem "Stirnwand 30mm Sandwich"
   
If lstDach = "GFK- Sprigel STW-HP" Then
    AddItem "ohne Front"
    AddItem "Stirnwand 30mm Sandwich"
   
    End If

End Sub

End Sub


für eure Hilfe wäre ich echt dankbar.

könnte auch sein das im laufe der erstellung des Programms noch ein paar fragen auftauchen =)

------------------
Geduld ist die Kunst nur langsam wütend zu werden!
Solid Works kann so grausam sein!

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

u.clemens
Mitglied
Konstrukteur


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

Beiträge: 964
Registriert: 04.07.2000

engineer's law
o cheap
o fast
o good
check only two !

erstellt am: 28. Jul. 2010 18: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 Joscha P. 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Joscha P.:
Hallo zusammen,
... habe ich nun ein Kleines Problem, ...

nun, nach deinem Code zu urteilen hast du nicht nur ein und nicht nur ein kleines Problem ...
Ich gehe mal davon aus, dass dein hier eingestellter Code nur Schipsel von etwas Größerem ist - sonst ist es noch hoffnungsloser ... 

Nur mal einige Sachen, die mir auf die Schnelle auffallen ...
- Offensichtlich willst du das Listenobject IsTFront in Anhängigkeit vom gewählten Wert des Listenobjects IstDach füllen - dann ist aber das auslösende Ereignis IstDach_Change nicht IstFront_Change
- Statt einer Vielzahl von If-Then bietet sich hier eine Case-Anweisung an
- Ich würde nicht mit "hartverdrahteten Texten" im Code arbeiten, definiere stattdessen Constanten und verwende diese - damit ist sichergestellt, dass an allen Stellen auch die gewünschten Vergleiche klappen - Tippfehler ausgeschlossen, nachträgliche Änderungen einfacher. Ich persönlich würde sowieso lieber mit dem Listindex arbeiten, aber das ist Geschmackssache ...
- If lstDach = "ohne Dach" funktioniert ? IstDach ist doch ein Object - du müßtest doch den aktuellen Wert (Text oder Listindex) abfragen
- AddItem ohne Object ?

------------------
mfg uc

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

Joscha P.
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 216
Registriert: 06.05.2010

SWX 2011 SP4
EPDM 2011 SP4
Microsoft Windows 7 Professional SP1 64 Bit
Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz
12 GB RAM

erstellt am: 29. Jul. 2010 07:18    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

Vielen dank für deine schnelle Hilfe!
Der eingestellte Code ist nur der anfang von dem "Programm".
Er soll nur die UserForm laden. Wie gesagt, mein Problem  ist das ich noch nie vorher mit VB gearbeitet habe und nu versuch mir anhand eines Buches es mir selber beizubringen.
Aber wieso habe ich bei mir die lstDach doppelt ausgefüllt?
und hats du vielleicht ein Beispiel Code um mir zu Zeigen wie ich die lstFront in Abhängigkeit zu lstDach Füllen kann?
Vielleicht kann ich mich dann daran entlang hangeln.
Es ist echt sau schwer wenn man einen Vernünfitgen Code had den wo man genau weiss was da grade passiert.
Das 2. Problem ist auch noch das es keinen gibt den ich Fragen kann aus unserer Firma, das erschwert das ganz  noch ein bissl. =)

------------------
Geduld ist die Kunst nur langsam wütend zu werden!
Solid Works kann so grausam sein!

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

teletobi666
Mitglied
Konstrukteur


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

Beiträge: 19
Registriert: 08.02.2007

erstellt am: 29. Jul. 2010 08:40    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 Joscha P. 10 Unities + Antwort hilfreich

Hallo Joscha P.! 
Ich bin zwar auch kein Experte im Programmieren, aber ich habe mir Deinen Code mal angeschaut und daran rumgebastelt und mit Kommentaren versehen. Hoffentlich habe ich den Sinn Deines Makros richtig interpretiert!


Private Sub UserForm_Layout()
   
    'Anbindung Dach
    lstDach.AddItem "ohne Dach", 0
    lstDach.AddItem "Sandwich 30mm STW-HP", 1
    lstDach.AddItem "Sandwich 30mm STW-STW", 2
    lstDach.AddItem "GFK- Sprigel STW-HP", 3
   
End Sub


Private Sub lstDach_Change()

lstFront.Clear  'Löschen des lstFront-Listenfelds, da sonst die neuen Werte zusätzlich in der Liste auftauchen

'Auswahl über Select Case:
Select Case lstDach.ListIndex 'hier wird Select Case angewiesen, den jeweils gewählten Index des lstDach-Listenfeldes zu untersuchen
    Case 0 'hier wird auf den Index 0 geprüft; ähnlich dem Ablauf einer If-Then-Else-Anweisung
        lstFront.AddItem "ohne Front"
        lstFront.AddItem "Stirnwand Sandwich 30mm"
    Case 1 'hier wird auf den Index 1...
        lstFront.AddItem "ohne Front"
        lstFront.AddItem "Stirnwand Sandwich 30mm"
    Case 2
        lstFront.AddItem "ohne Front"
        lstFront.AddItem "Stirnwand 30mm Sandwich"
    Case 3
        lstFront.AddItem "ohne Front"
        lstFront.AddItem "Stirnwand 30mm Sandwich"
End Select

End Sub

Gruß,
Tobias

------------------
FSK ab 12 Jahren: Der Held bekommt das Mädchen.
FSK ab 16 Jahren: Der Böse bekommt das Mädchen.
FSK ab 18 Jahren: Alle bekommen das Mädchen.

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

Joscha P.
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 216
Registriert: 06.05.2010

SWX 2011 SP4
EPDM 2011 SP4
Microsoft Windows 7 Professional SP1 64 Bit
Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz
12 GB RAM

erstellt am: 29. Jul. 2010 09:32    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

Ja Super, das ist genau das was ich wollte.
Dann kann ich ja jetzt zumindst meine Benutzeroberfläche anpassen.
Jetz habe ich noch das Problem das ich von einem Bestimt Teil in Solidworks Maße ändern weil und diese Maße möchte ich ganz gerne über txtfelder Steuern.
Ich habe mir nun ein Makroaufgezeichnet in dem ich das Maß ändere. Nun muss ich ja Variablen anlegen um die Maße aus den Textfeldern in das Teil zu übernehmen
würd ich das dann so machen?

Wie stelle ich sowas denn an?

und wenn ich das Mako nun ablaufen lasse tritt immer ein Fehler auf warum?

Ich weiss ich bin furchtbar 

Code des aufgezeichnetn Makros:

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.OpenDoc6("C:\Titgemeyer_PDM\Bausatzsysteme\Konfigurationsmodelle\SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT", 1, 0, "", longstatus, longwarnings)
swApp.ActivateDoc2 "SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT", False, longstatus
Set Part = swApp.ActiveDoc
Set Part = swApp.ActiveDoc
Dim myModelView As Object
      Set myModelView = Part.ActiveView
myModelView.FrameLeft = 0
myModelView.FrameTop = 0
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
boolstatus = Part.Extension.SelectByID2("Skizze1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Part.EditSketch
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("L1@Skizze1@SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT", "DIMENSION", 2.56623205195, 0.4906545882904, 0.3929980805478, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("L1@Skizze1@SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT", "DIMENSION", 2.56623205195, 0.4906545882904, 0.3929980805478, False, 0, Nothing, 0)
Dim myDimension As Object
Set myDimension = Part.Parameter("L1@Skizze1")
myDimension.SystemValue = 4.6
Part.ClearSelection2 True
Part.SketchManager.InsertSketch True
boolstatus = Part.EditRebuild3()
End Sub


ab dem eingerückten Befehl hält das Makro an. Warum?

------------------
Geduld ist die Kunst nur langsam wütend zu werden!
Solid Works kann so grausam sein!

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

MapleLeaf
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 11
Registriert: 24.03.2010

SolidWorks 2010 SP2.1

erstellt am: 29. Jul. 2010 10:31    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 Joscha P. 10 Unities + Antwort hilfreich

Hallo Joscha,

probiers mal damit:


Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc


Set Part = swApp.OpenDoc6("C:\Titgemeyer_PDM\Bausatzsysteme\Konfigurationsmodelle\SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT", 1, 0, "", longstatus, longwarnings)
swApp.ActivateDoc2 "SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT", False, longstatus
Set myDimension = Part.Parameter("L1@Skizze1@SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT"")
myDimension.SystemValue = 4.6
boolstatus = Part.EditRebuild3()
Part.ClearSelection2 True

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

Joscha P.
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 216
Registriert: 06.05.2010

SWX 2011 SP4
EPDM 2011 SP4
Microsoft Windows 7 Professional SP1 64 Bit
Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz
12 GB RAM

erstellt am: 29. Jul. 2010 11:01    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

hmm das klappt leider nicht, er hängt an der stelle mit set myDimension = Part.Parameter ......
Habe in der Zeile auch die 2. " weg gemacht, aber klappt tortzdem nicht.
Ich merk schon, das wird alles ne schwierige geburt.

------------------
Geduld ist die Kunst nur langsam wütend zu werden!
Solid Works kann so grausam sein!

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

MapleLeaf
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 11
Registriert: 24.03.2010

SolidWorks 2010 SP2.1

erstellt am: 29. Jul. 2010 11:15    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 Joscha P. 10 Unities + Antwort hilfreich

Ersetz mal die Zeile:

Set myDimension = Part.Parameter("L1@Skizze1")

aus Deinem Code mit:

Set myDimension = Part.Parameter("L1@Skizze1@SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT"")

Du musst immer den ganzen Pfad von dem Maß angeben.
Was Kommt denn für eine Fehlermeldung?

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

Joscha P.
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 216
Registriert: 06.05.2010

SWX 2011 SP4
EPDM 2011 SP4
Microsoft Windows 7 Professional SP1 64 Bit
Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz
12 GB RAM

erstellt am: 29. Jul. 2010 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

Na klappt leider auch net.
Find bissl komisch das wenn ich in sw ein Makro aufzeichne, ich diese nicht abspielen kann weil ich fehler bekomme.

------------------
Geduld ist die Kunst nur langsam wütend zu werden!
Solid Works kann so grausam sein!

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

nahe
Ehrenmitglied



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

Beiträge: 1764
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 30. Jul. 2010 07: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 Nur für Joscha P. 10 Unities + Antwort hilfreich

Hallo

ohne den Code jetzt wirklich genau zu untersuchen
warum hast Du am Ende von
Set myDimension = Part.Parameter("L1@Skizze1@SK-100863-Kofferbausatz Mastermodell Volumenkoerper GETO Van 3, 5t.SLDPRT"")

zwei " statt einem " ?

------------------
Grüße
Heinz

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

Joscha P.
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 216
Registriert: 06.05.2010

SWX 2011 SP4
EPDM 2011 SP4
Microsoft Windows 7 Professional SP1 64 Bit
Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz
12 GB RAM

erstellt am: 30. Jul. 2010 07: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

Moin,

Ich denke das war ein Tippfehler, aber mit einem " klappts auch net.
Wenn man echt keinerlei Vorkenntnisse hat, ist es echt schwer sich mit den Makros zurecht zu finden.

------------------
Geduld ist die Kunst nur langsam wütend zu werden!
Solid Works kann so grausam sein!

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

teletobi666
Mitglied
Konstrukteur


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

Beiträge: 19
Registriert: 08.02.2007

erstellt am: 30. Jul. 2010 08:48    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 Joscha P. 10 Unities + Antwort hilfreich


Bemassungsnamen.jpg

 
Hallo Joscha P.!

Ich habe mal versucht, die Grundfunktion zum Ändern der Maße in einen kleinen Codeabschnitt nachvollziehbarer zu machen.
Erstell Dir einfach mal einen Würfel. Benenne die Maße in der Skizze1 um in B1 und H1 (siehe angehängte Bilddatei). Das Maß der linearen Austragung benennst Du dann in T1 um und lässt mal das Makro drüberlaufen.

Hier der Code:


Dim swApp          As Object
Dim Part            As Object
Dim myDimension1    As Object
Dim myDimension2    As Object
Dim myDimension3    As Object
Dim boolstatus      As Boolean


Sub main()

    Set swApp = Application.SldWorks
    Set Part = swApp.ActiveDoc
   
    Set myDimension1 = Part.Parameter("B1@Skizze1") ' hier werden myDimension1 die Parameter der Bemaßung "B1@Skizze1" übergeben
    Set myDimension2 = Part.Parameter("H1@Skizze1")
    Set myDimension3 = Part.Parameter("T1@Linear austragen1")
   
    myDimension1.SystemValue = 120 / 1000  ' hier wird myDimension1 (also dem Maß "B1@Skizze1") der neue Wert übergeben; "/ 1000" wegen Umrechnung von mm in m
    myDimension2.SystemValue = 100 / 1000
    myDimension3.SystemValue = 120 / 1000
   
    boolstatus = Part.EditRebuild3() ' damit die Änderungen sichtbar werden erfolgt hier ein Neuaufbau des Bauteils
   
    Part.ViewZoomtofit2 ' zeigt das Teil bildschirmfüllend

End Sub


Ich habe Dir die Funktionen wieder kommentiert, damit Du weißt, was wo geschieht.

Der Code des Makrorekorders ist immer total überladen. Deshalb such ich mir immer nur die benötigten Funktionen raus und schreibe mir meinen Code selbst.

Versuchs doch mal und schreib bitte wieder, wie's gelaufen ist.

Viele Grüße,
Tobias

------------------
FSK ab 12 Jahren: Der Held bekommt das Mädchen.
FSK ab 16 Jahren: Der Böse bekommt das Mädchen.
FSK ab 18 Jahren: Alle bekommen das Mädchen.

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

Joscha P.
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 216
Registriert: 06.05.2010

SWX 2011 SP4
EPDM 2011 SP4
Microsoft Windows 7 Professional SP1 64 Bit
Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz
12 GB RAM

erstellt am: 30. Jul. 2010 09:01    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

Ja sauber klappt perfekt!
Ich danke dir für deine Hilfe!
An solche Beispielen kann ich mich dann echt gut entlang hangeln.

------------------
Geduld ist die Kunst nur langsam wütend zu werden!
Solid Works kann so grausam sein!

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

nahe
Ehrenmitglied



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

Beiträge: 1764
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 30. Jul. 2010 09:12    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 Joscha P. 10 Unities + Antwort hilfreich

Hallo

wie "MapleLeaf" schon geschrieben hat, wär mal interessant zu wissen
welche Fehlermeldung Du bekommst.

------------------
Grüße
Heinz

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

Joscha P.
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 216
Registriert: 06.05.2010

SWX 2011 SP4
EPDM 2011 SP4
Microsoft Windows 7 Professional SP1 64 Bit
Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz
12 GB RAM

erstellt am: 30. Jul. 2010 09:16    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 kriege immer eine Fehlermendung NR. XXX dann wird der Debugger gestartet und die Zeile gelb markiert
Wenn euch das weiterhilft kann ich diese das Nächste mal dazu schreibe ich dachte nur das die Fehler Nummer nicht so aussagekräftig ist.

------------------
Geduld ist die Kunst nur langsam wütend zu werden!
Solid Works kann so grausam sein!

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