Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Gleichung zu Bemaßungen hinzufügen VBA SW16

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
  
Innovationstag mit SolidCAM und Plogmann bei HEDELIUS in Meppen
Autor Thema:  Gleichung zu Bemaßungen hinzufügen VBA SW16 (1431 / mal gelesen)
Sc1ssoR
Mitglied
Student


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

Beiträge: 26
Registriert: 11.04.2017

SolidWorks 16
VBA

erstellt am: 09. Mai. 2017 09:00    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

Hi Leute,

da ich im Netz bisher keine Lösung gefunden und Ihr mir immer super gut geholfen habt, muss ich euch wieder bitten mir zu helfen^^

Ich lösche zurzeit nicht mehr notwendige Gleichungen und Bemaßungen aus meinen Skizzen, dann wechsel ich die gesteurnden wieder zu steuernden und nun muss ich an diese Bemaßungen eine Gleichung einfügen. Nur funktioniert das nicht so wie ich mir das dachte, weil ich noch in der Gleichung eine andere Bemaßung drin habe.

Folgendes habe ich schon probiert:

t ist in jedem Fall als String definiert

-swEquationMgr.Equation() = """D28@Sketch1""" & "=" & "D99@Sketch1" & 2 * t
  bestimmt sind hier immer die "&" falsch gesetzt. Der Debugger sagt -> Argument ist nicht Optional

-Dim myDimension As Object
  Set myDimension = Part.Parameter("D28@Sketch1")
  myDimension.SystemValue = "D99@Sketch1" + 2 * t
  Part.ClearSelection2 True
  Debugger -> Typen unverträglich

schon vorab vielen Dank für die Hilfe

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

Baumjäger
Mitglied
CAD/PDM Administrator


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

Beiträge: 339
Registriert: 21.06.2006

SW2017 - S5.0
AutoCAD Mechanical 2018
Win10
Intel Xeon E3-1240 V2 3,4GHz
16GB RAM
NVIDIA Quadro 4000

erstellt am: 11. Mai. 2017 09:29    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 Sc1ssoR 10 Unities + Antwort hilfreich

ohne das getestet zu haben, würde ich mal drauf tippen dass deine Formatierung für die Equation() nicht ganz richtig ist:
Spontan würde ich das eher so schreiben:

"D28@Sketch1=D99@Sketch1 + 2 * " & t & "

da du ja nur das t als Variable aus deinem Makro verwenden willst.

Und wenn ich mir die Hilfe anschaue..kann es sein dass du bei Equation() in den Klammern etwas angeben musst?

Dim instance As IEquationMgr
Dim Index As System.Integer
Dim value As System.String

instance.Equation(Index) = value

value = instance.Equation(Index)

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

Sc1ssoR
Mitglied
Student


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

Beiträge: 26
Registriert: 11.04.2017

SolidWorks 16
VBA

erstellt am: 12. Mai. 2017 11: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

Danke für die Antwort Baumjäger,

also der richtige Befehl für das hinzufügen von Gleichungen ist swEquationMgr.Add3.

Allerdings sagt der mir immernoch Typen unverträglich

swEquationMgr.Add3 """D28@Sketch1"" = D99@Sketch1 + 2 * " & t & ""

Kann man D99@Sketch1 überhaupt einfach so dort reinschreiben? Ich glaub eher das wirft mir den Fehler wegen dem Datentyp auf.. 

[Diese Nachricht wurde von Sc1ssoR am 12. Mai. 2017 editiert.]

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 12. Mai. 2017 13:07    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 Sc1ssoR 10 Unities + Antwort hilfreich

Hallo,

du hast keinen Typenfehler im eigentlichen Sinne, nur verlangt der Befehl mehr Parameter, schau dir doch mal in der API Hilfe das Beipiel Add and Modify Equations Example (VBA) dazu an.

Der Befehl braucht nämlich 5 Parameter

Code:
Function Add3( _
  ByVal Index As System.Integer, _
  ByVal Equation As System.String, _
  ByVal Solve As System.Boolean, _
  ByVal WhichConfigurations As System.Integer, _
  ByVal ConfigNames As System.Object _
) As System.Integer

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Sc1ssoR
Mitglied
Student


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

Beiträge: 26
Registriert: 11.04.2017

SolidWorks 16
VBA

erstellt am: 12. Mai. 2017 13:35    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

hab das mit den Parametern so probiert:

                swEquationMgr.Add3 1, """D28@Sketch1"" = D99@Sketch1 + 2 * " & t & "", True, swAllConfiguration, Empty

er meckert nicht aber eine Gleichung wird auch nicht eingefügt...

wenn ich D99@Sketch1 weglasse wird die Gleichung eingetragen muss also eine andere Methode geben das in die Gleichung zu implemetieren

[Diese Nachricht wurde von Sc1ssoR am 12. Mai. 2017 editiert.]

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

Sc1ssoR
Mitglied
Student


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

Beiträge: 26
Registriert: 11.04.2017

SolidWorks 16
VBA

erstellt am: 12. Mai. 2017 14:22    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

hab mein Problem gelöst!

so muss das aussehen

swEquationMgr.Add3 1, """D28@Sketch1"" = ""D99@Sketch1"" + 2 * " & t & "", True, swAllConfiguration, Empty

danke euch!

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