Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Rechnung mit zuweisung erstellen

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
  
Intertool 2024
Autor Thema:  Rechnung mit zuweisung erstellen (1971 mal gelesen)
Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 23. Nov. 2020 09:58    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 liebe Community,

habe meinen Programmcode soweit erweitert (grundgerüst, muss auch noch bearbeitet werden)
Funktioniert auch, ist nur noch etwas chaotisch (setze mich noch daran)


------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

[Diese Nachricht wurde von Malte70 am 23. Nov. 2020 editiert.]

[Diese Nachricht wurde von Malte70 am 27. Nov. 2023 editiert.]

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 23. Nov. 2020 17:13    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 Malte70 10 Unities + Antwort hilfreich

Moin,

in Rätseln du schreibst ... beim Code auch.

was möchtest du mit Abmessung +4 machen und wo ist die?

wozu zählst du die Konfigurationen durch (for i = ... ... next i)
wenn damit überhaupt nichts gemacht wird?

du hast immer noch 2x get und dazwischen das delete - ... wozu???

und warum steht da mehrfach mittendrin noch mal set model = activedoc und sogar set swapp ... ?

sieht ja aus, wie mein Schreibtisch ... bitte aufräumen!

Gruß, Christian

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: 23. Nov. 2020 17:20    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 Malte70 10 Unities + Antwort hilfreich

Hallo Malte,

Zitat:
würde gerne die Abmessung +4 rauswerfen lassen

Was meinst du mit "Abmessung +4" 

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 24. Nov. 2020 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 Malte70 10 Unities + Antwort hilfreich


2020-11-24VBA1.jpg

 
Moin,

Zitat:
Original erstellt von Malte70:
Funktioniert auch, ist nur noch etwas chaotisch (setze mich noch daran)

...
   
    strOrdnerName = ""
    'Dateiendung
    strName = Dir(strOrdnerName & "*.sldprt")
...
    FileName = strOrdnerName & strName
...

    Set ModelDoc = swApp.OpenDoc6(FileName, 1, 0, "", Errors, Warnings)


Der Code kann nicht funktionieren, da Opendoc6 einen eindeutigen Dateinamen benötigt. Sobald zwei SWX-Parts in dem Verzeichnis sind, gibt es einen Fehler, da ModelDoc dann den Wert "Nothing" bekommt.

------------------
==========
Gruß
Andreas
==========

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 25. Nov. 2020 15:34    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

Schonmal danke für eure Zeit, 
dachte ich hätte das Problem besser beschrieben 

Angenommen ich bekomme hier bei den Abmessungen den Wert 100 herausgeworfen
, dann möchte ich das er mir stattdessen 104 herauswirft.

ich hab hier in der Skizze einen wert, z.B.100 herausgelesen und möchte aber stattdessen 104 dort stehen haben.

Get4 will der scheibar haben, sonst bleibt mein vorheriger wert dort stehen. 


------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

[Diese Nachricht wurde von Malte70 am 27. Nov. 2023 editiert.]

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 25. Nov. 2020 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

Hab den Code etwas unter Zeitdruck gefühlt 1000 mal geändert, seht mir das bitte etwas nach, ich räum auch noch auf

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 25. Nov. 2020 17: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 Nur für Malte70 10 Unities + Antwort hilfreich


Teil1.SLDPRT

 
Zitat:
@Andreas:
es funktioniert.
wenn ich z.b. -Baugruppen oder Bibliotheksdatein aufrufe,
dann werden mir diese auch angezeigt,

wie schon geschrieben, Funktioniert.

habe nur keinen Pfad eingetragen.


Wenn du die Datei selbst öffnest, dann gebrauchst du die OpenDoc-Methode
nicht.  Das etwas funktioniert, will ich nicht abstreiten, aber
das ist ein reines Zufallsergebnis und hat nichts mit einem strukturierten
Programm zu tun. Sorry für die harten Worte, aber es macht keinen Sinn,
da du mit Copy&Paste nie zu einem brauchbaren und verlässigen Makro kommst.

Um auf dein Problem mit deiner Abmessung plus vier zurückzukommen:
Du kannst z.B. eine globale Variable "Maß" anlegen und dort deine Gleichung "D1@Skizze1"+4 hinterlegen. Dann ändert sich dieses Maß auch
bei Änderung der Geometrie. Dann musst du nicht noch einmal das Makro darüberlaufen lassen. Die Datei ist im 2020er Format 

------------------
==========
Gruß
Andreas
==========

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 26. Nov. 2020 08: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

Danke für die Antwort,
das Problem ist, das die Dateien schon existieren und bestimmt über 100 Stück sind.

Ich wollte da eben nicht jede Datei öffnen und das Maß an eine Globale Variable hängen

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 26. Nov. 2020 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 Malte70 10 Unities + Antwort hilfreich

Moin,

es gibt erst ab SWX2021 die Möglichkeit, Berechnungen in den Eigenschaften
vorzunehmen. Von daher bleibt dir zum Einen die Möglichkeit, den Wert für
deine Eigenschaft im Programm zu berechnen und als reinen Text zu übergeben.
Wenn du dann aber etwas am Teil änderst, wird sich diese Eigenschaft nicht
mitändern. Dessen musst du dir bewußt sein.
Alternativ kann ich mir vorstellen, die globale Variable nebst der Gleichung
im Programm zu erzeugen. Habe ich aber noch keine Erfahrung mit, müsste
man sich reinfuchsen 

------------------
==========
Gruß
Andreas
==========

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000

erstellt am: 26. Nov. 2020 08:39    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 Malte70 10 Unities + Antwort hilfreich

Schau dir mal die Add-Methode des Gleichungsmanager-Objektes an    :

http://help.solidworks.com/2020/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.iequationmgr~add3.html

------------------
==========
Gruß
Andreas
==========

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 26. Nov. 2020 09:03    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,
ich glaub das hat mir weitergeholfen,
schaue ich mir nachher mal an.

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 26. Nov. 2020 20:08    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 Malte70 10 Unities + Antwort hilfreich

Zitat:
...
Der Code kann nicht funktionieren, da Opendoc6 einen eindeutigen Dateinamen benötigt...

Moin,

doch, ich glaub das funktioniert schon so:
- mit dir(pfad + filter) bekommt man den ersten treffenden Dateinamen zurück.
- mit jdedem weiteren dir (ohne Parameter) bekommt man den nächsten passenden Dateinamen ... bis keiner mehr da ist.
auch die Schleife ist da ;) , die Abbruchbedingung sogar redundant:
- solange strName nicht "" ist ....
- aber falls es doch "" ist (sonst wird filename nicht gleich strOrdnerName sein ...)

Code:
Do While strName <> ""
            FileName = strOrdnerName & strName
            If FileName = strOrdnerName Then
            Exit Do
         
            End If

--> einschließlich der Leerzeile einfach mal 4 Zeilen rausschmeissen ...

...

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 27. Nov. 2020 08:57    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 Malte70 10 Unities + Antwort hilfreich

Hallo Christian,

den Dir-Befehl habe ich wohl versehentlich ignoriert bzw. im oberen Teil falsch interpretiert 
Ist aber eine interessante Lösung, um mehrere Dateien in einer Rutsche abzuarbeiten. Danke dir noch
mal für die Info!

------------------
==========
Gruß
Andreas
==========

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 27. Nov. 2020 14:17    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 Malte70 10 Unities + Antwort hilfreich

Zitat:

... den Dir-Befehl habe ich wohl versehentlich ignoriert ...

wäre bestimmt nicht passiert, wenn nicht so viele unnötige Zeilen drum herum wären ... 

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 01. Dez. 2020 14: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

Zitat:
Wenn du dann aber etwas am Teil änderst, wird sich diese Eigenschaft nicht
mitändern. Dessen musst du dir bewußt sein.

Das wäre egal, die Teile werden eh nie wieder zum Ändern angefasst.

Hab mir das jetzt tiefgehend angeschaut, würde aber doch gerne bei einer einfachen Rechnung bleiben,

sprich:

Code:

Dim instance As IEquationMgr
Dim Index As Integer
Dim Equation As String
Dim Solve As Boolean
Dim value As Integer

Set swEquationMgr = swModel.GetEquationMgr

value = instance.Add2((0, Chr(216) + Chr(34) + "D2@Skizze1" + "@@" + sConfigName + "@" + strName + Chr(34), True)) + 4


da kommt bei mir ein Fehler, hab ich da was komplett falsch gemacht?


------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 01. Dez. 2020 15: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 Malte70 10 Unities + Antwort hilfreich

Die "+4" müssen mit in die Gleichung:

Code:
value = instance.Add2((0, Chr(216) + Chr(34) + "D2@Skizze1" + "@@" + sConfigName + "@" + strName + "+ 4" + Chr(34), True))

------------------
==========
Gruß
Andreas
==========

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 01. Dez. 2020 15:23    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

Jetzt zeigt er mir:
Fehler91
und Syntaxfehler

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

[Diese Nachricht wurde von Malte70 am 01. Dez. 2020 editiert.]

[Diese Nachricht wurde von Malte70 am 27. Nov. 2023 editiert.]

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 01. Dez. 2020 15:38    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 Malte70 10 Unities + Antwort hilfreich

Das ist mein Code:

Code:
value = instance.Add2((0, Chr(216) + Chr(34) + "D2@Skizze1" + "@@" + sConfigName + "@" + strName + "+ 4" + Chr(34), True))

[/B]

Das ist dein Code:

Code:
value = instance.Add2(0, Chr(216) + Chr(34) + "D2@Skizze1" + "@@" + sConfigName + "@" + strName + Chr(34) + "+ 4", True)

Jetzt suche und finde den Fehler 

------------------
==========
Gruß
Andreas
==========

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 01. Dez. 2020 15:52    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

steht bei beiden Stellungen

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 01. Dez. 2020 16:19    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 Malte70 10 Unities + Antwort hilfreich

Aber bei deiner an der falschen 

------------------
==========
Gruß
Andreas
==========

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 01. Dez. 2020 16: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

Ja, ich hatte das mit beiden Stellungen probiert und vergessen diese wieder zurückzuschieben

aktuell sagt er das eine With- blockvariable fehlt.

hab ich da einen Wert vielleicht nicht richtig Dimensioniertß
Bin mir z.B nicht sicher ob ich Dim Index vielleicht as long statt Integer machen sollte. Da sagt die Hilfe meiner Ansicht nach beides.

Ein Paar Klammern wollte er weg haben.

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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: 01. Dez. 2020 16: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 Malte70 10 Unities + Antwort hilfreich

Hallo Malte,

hab den Code mal in etwas "schöner" umgeschrieben um eine etwas besser lesbare Grundlage für alle zu schaffen. Da ich jetzt nicht genau wusste was in welcher Eigenschaft bzw. in der Gleichung stehen soll hab ich da etwas gefreestylt, also musst du ggf. noch anpassen.

Code:
Option Explicit

Dim swApp                   As SldWorks.SldWorks

Dim swModelDoc              As SldWorks.ModelDoc2
Dim swModelDocExt           As SldWorks.ModelDocExtension
Dim swEquationMgr           As SldWorks.EquationMgr
Dim swCustPropMgr           As SldWorks.CustomPropertyManager

Dim fileName                As String
Dim strOrdnerName           As String
Dim strName                 As String
Dim val                     As String
Dim valout                  As String
Dim varsplit                As Variant

Dim vConfNameArr            As Variant
Dim sConfigName             As String

Dim i                       As Integer

Dim lWarnings               As Long
Dim lErrors                 As Long
Dim longstatus              As Long
Dim boolstatus              As Boolean

Sub main()

Set swApp = Application.SldWorks

'Dateiposition
strOrdnerName = "C:\_SMB\CAD\_SWX-Vorlagen\Makros\testordner\"
'Dateiendung
strName = Dir(strOrdnerName & "*.SLDPRT")

Do While strName <> ""
    fileName = strOrdnerName & strName
    If fileName = strOrdnerName Then
        Exit Do
    End If
           
    Set swModelDoc = swApp.OpenDoc6(fileName, 1, 0, "", lErrors, lWarnings)
    Set swModelDocExt = swModelDoc.Extension
    Set swCustPropMgr = swModelDocExt.CustomPropertyManager("")
    Set swEquationMgr = swModelDoc.GetEquationMgr
          
    varsplit = Split(strName, ".")

    vConfNameArr = swModelDoc.GetConfigurationNames
    For i = 0 To UBound(vConfNameArr)
        sConfigName = vConfNameArr(i)
    Next i

    boolstatus = swCustPropMgr.Get4("Abmessung", False, val, valout)
    boolstatus = swModelDoc.DeleteCustomInfo2(sConfigName, "Abmessung")
    Debug.Print Chr(34) + "Abmessung = " + "D1@Skizze1" + "@@" + sConfigName + "@" + strName + "+ 4" + Chr(34)
    longstatus = swEquationMgr.Add2(0, Chr(34) + "Abmessung = " + "D1@Skizze1" + "@@" + sConfigName + "@" + strName + "+ 4" + Chr(34), True)
    boolstatus = swModelDoc.AddCustomInfo3(sConfigName, "Abmessung", swCustomInfoText, Chr(216) + valout)
    boolstatus = swModelDoc.AddCustomInfo3(sConfigName, "Gewicht", swCustomInfoText, Chr(34) + "SW-Mass" + "@@" + sConfigName + "@" + varsplit(0) + ".sldprt" + Chr(34))
    boolstatus = swModelDoc.AddCustomInfo3(sConfigName, "Benennung", swCustomInfoText, "")
    boolstatus = swModelDoc.AddCustomInfo3(sConfigName, "Norm", swCustomInfoText, "")
    boolstatus = swModelDoc.AddCustomInfo3(sConfigName, "Lieferant", swCustomInfoText, "")
    'Ende Einfügen
          
    ' Zoom To Fit
    swModelDoc.ShowNamedView2 "*Isometrisch", 7
    swModelDoc.ViewZoomtofit2
          
    Debug.Print "Abmessung"
    Debug.Print strName & " ==> " & val & " ==> " & valout
   
    longstatus = swModelDoc.SaveAs3(fileName, 0, 2)
    swApp.CloseDoc ""
    strName = Dir
Loop

End Sub


Gruß
Bernd

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

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 01. Dez. 2020 editiert.]

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 01. Dez. 2020 17: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 Malte70 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Malte70:
steht bei beiden Stellungen


Dann will ich mal für Aufklärung sorgen:

Du fügst mit der Add2-Methode eine Gleichung hinzu. In SWX müssen die
Gleichungen in Anführungszeichen eingeschlossen sein. Das sind die
Chr(34) vorne an zweiter Stelle und ganz hinten. Du hast dein Teilstring
"+4" aber hinter das letzte Chr(34) gesetzt, so dass der Gleichungsmanager
meckert. Es spielt also sehr wohl eine Rolle, wo die "+4" stehen 

------------------
==========
Gruß
Andreas
==========

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 02. Dez. 2020 09: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

@Andreas

Das hatte ich so verstanden!

In den Eigenschaften würde das so aussehen:

Maß in der Zeichnung Ø100

alt:

Code:

Ø"D2@Skizze1@@BFM Manschette Ø100@xx liØ100.SLDPRT

neu:

Code:

Ø"D2@Skizze1@@BFM Manschette Ø100@xx liØ100+4.SLDPRT"

Bernd hat das jetzt so umgeschrieben, das der Wert einmalig genommen wird und trotz Änderung bestehen bleiben würde.

Alles gut soweit.

die + "4" + erziehlen nur keinen Effekt  

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

[Diese Nachricht wurde von Malte70 am 27. Nov. 2023 editiert.]

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 02. Dez. 2020 09:52    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 Malte70 10 Unities + Antwort hilfreich

Malte, du mischt aber alles quer Beet 

Jetzt setzt du auf einmal einen Dateinamen zusammen, vorher sollte es
eine benutzerdefinierte Eigenschaft sein. Frei nach Robert Lembke:
"Welches Schweinerl hätten wir denn gerne???"

Wenn du im Dateinamen die 104 stehen haben möchtest, musst du anders
vorgehen. Dann musst du den Zahlenwert von D2@... bestimmen, Stichwort
Umwandlung von String in Integer oder Long, dann die Addition durchführen
und das Ganze wieder in deinen Dateinamen umwandeln.

------------------
==========
Gruß
Andreas
==========

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 02. Dez. 2020 13:39    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 Malte70 10 Unities + Antwort hilfreich

Sry,

wenn einer so mit dem Auto ankäme und nach dem Weg fragt, müsste man den Schlüssel abnehmen ...
hier kann z.Glück nicht ganz so viel passieren 

Wenn jemand dich ständig als Peter anspricht, wirst du vermutlich nicht reagieren, wenn du Malte heisst, oder?

Wenn du etwas als set swEquationManager anlegst, kannst du nicht erwarten, dass es auf Instance hört ...
genau das gleiche mit modeldoc und Part ...

Das hier kann weg, weil überflüssig !!

Code:

            If fileName = strOrdnerName Then
            Exit Do
           
            End If


Hier wird etwas "modeldoc" getauft und dann nach "part" gerufen ...

Code:

            Set ModelDoc = swApp.OpenDoc6(fileName, 1, 0, "", errors, warnings)
            swApp.ActivateDoc2 strName, False, errors
            Set swEquationMgr = Part.GetEquationMgr

Dann holst du einfach alles nochmal, diesmal klappt es, aber der alte Müll schwirrt noch rum ...

Code:

            Set swApp = Application.SldWorks
            Set swModel = swApp.ActiveDoc
            Set swEquationMgr = swModel.GetEquationMgr


         
und dann wird nach "instance" gerufen ???
Code:
           
            value = instance.Add2(0, Chr(216) + Chr(34) + "D2@Skizze1" + "@@" + sConfigName + "@" + strName + Chr(34) + "+ 4", True)


Super gruselig ...

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: 02. Dez. 2020 13:43    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 Malte70 10 Unities + Antwort hilfreich

Hallo Malte,

ersetzt mal

Code:
longstatus = swEquationMgr.Add2(0, Chr(34) + "Abmessung = " + "D1@Skizze1" + "@@" + sConfigName + "@" + strName + "+ 4" + Chr(34), True)

durch
Code:
longstatus = swEquationMgr.Add2(0, "Abmessung" + Chr(34) + "=" + Chr(34) + "D2@Skizze1" + Chr(34) + "+ 4", True)

dann sollte jetzt in den Globalen Variablen (Gleichungen) auch für Abmessung der Wert mit +4 verrechnet werden.

Kannst du noch mal Stichpunktartig aufführen was passieren soll? Soll das wahrscheinlich Rohmaß in den Eigenschaften (benutzerdefiniert oder konfigurationsspezifisch) oder Gleichungen (als Globale Variable) stehen oder in beidem (beachte hierführ es kann keine Globale Variable und Eigenschaft mit identischem Namen gleichzeitig geben), soll der Wert nur als Text geschrieben sein oder verknüpft oder eine Mischung?

Gruß
Bernd


PS: @Christian du triffst es mit grusselig ganz gut, das war auch meine Intension den Code zumindes rudimentär aufzubereiten bevor ich dadran etwas weiter zu machen.

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

Staatlich anerkannte Deutschniete   

[Diese Nachricht wurde von bk.sc am 02. Dez. 2020 editiert.]

[Diese Nachricht wurde von bk.sc am 02. Dez. 2020 editiert.]

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 02. Dez. 2020 19:58    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 Programmiere jetzt notgedrungen nebenher ca.3 Wochen.

Man kann sich halt nicht in ein Lambo setzen und direkt den Grand Prix gewinnen. , muss erstmal fahren lernen.
Bin einfach froh über jede Hilfe.


Also,

- das Maß im 3D Modell soll stehenbleiben.
- das Ergebnis reicht mir als Zahl in den Eigenschaften
- Globale Variablen würde ich da gerne aus vielen Gründen weglassen.

Danke schonmal

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 02. Dez. 2020 20:45    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 Malte70 10 Unities + Antwort hilfreich

Es ist löblich, dass du so etwas nebenher machst. Trotzdem solltest du dir
erst einmal die Basics aneignen, dann wird es einfacher 

Da dir der Name der Bemaßung bekannt ist D2@.... kannst du den Wert
mit GetValue3-Methode des IDimension-Objektes bestimmen. Schau dir
mal das Beispiel in der API-Hilfe an:

http://help.solidworks.com/2020/english/api/sldworksapi/SOLIDWORKS.Interop.sldworks~SOLIDWORKS.Interop.sldworks.IDimension~GetValue3.html

Da ich nicht weiß, inwieweit du mit Konfigurationen arbeitest, musst du
die Parameter der Methode entsprechend einstellen. Und du bekommst ein
Array mit Werten zurück, wie man den Bemerkungen entnehmen kann.

Diese Werte kannst du dann mit 4 addieren und diesen Wert dann in deine
Abmessung schreiben oder auch im Dateinamen verwenden.

------------------
==========
Gruß
Andreas
==========

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000

erstellt am: 02. Dez. 2020 21:34    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 Malte70 10 Unities + Antwort hilfreich


Test.zip

 
So, habe mal auf die Schnelle was erstellt:

Code:
Sub main()
    Dim swApp                  As SldWorks.SldWorks
    Dim swModel                As SldWorks.ModelDoc2
    Dim strDateipfad            As String
    Dim strPfad                As String
    Dim strDateiname            As String
    Dim swConfigMgr            As SldWorks.ConfigurationManager
    Dim swConfig                As SldWorks.Configuration
    Dim swSelMgr                As SldWorks.SelectionMgr
    Dim swDispDim              As SldWorks.DisplayDimension
    Dim swDim                  As SldWorks.Dimension
    Dim vConfigNameArr          As Variant
    Dim vConfigName            As Variant
    Dim vDimValArr              As Variant
    Dim vDimVal                As Variant
    Dim sSpecConfigNameArr(0)  As String
    Dim vSpecConfigNameArr      As Variant
    Dim dimValue                As Variant
    Dim dblRoh                  As Double
   
    'Solidworks anbinden
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

    'Dateipfad ermitteln
    strDateipfad = swModel.GetPathName

    ' Zerlegen in Pfad und Dateiname ohne Extension (7 Zeichen)
    For i = Len(strDateipfad) To 1 Step -1
        If Mid(strDateipfad, i, 1) = "\" Then
            strPfad = Left(strDateipfad, i)
            strDateiname = Mid(strDateipfad, i + 1, Len(strDateipfad) - i - 7)
            Exit For
        End If
    Next i

    'Bemaßung auswählen
    Set swConfigMgr = swModel.ConfigurationManager
    Set swConfig = swConfigMgr.ActiveConfiguration
    Set swSelMgr = swModel.SelectionManager
    status = swModel.Extension.SelectByID2("D1@Skizze1@" & strDateiname & ".SLDPRT", "DIMENSION", 0, 0, 0, False, 0, Nothing, 0)
    Set swDispDim = swSelMgr.GetSelectedObject6(1, -1)
    Set swDim = swDispDim.GetDimension
    vConfigNameArr = swModel.GetConfigurationNames

    dimValue = swDim.GetSystemValue3(swThisConfiguration, vConfigNameArr(0))
   
    'Testausgabe
    Debug.Print dimValue(0) 'Ausgabe ist in m
   
    'Rohmaß festlegen => 4 mm addieren
    dblRoh = (dimValue(0) * 1000) + 4
    Debug.Print dblRoh
   
End Sub


In der ZIP-Datei steckt ein Zylinder im SWX2020-Format und das Makro als swp-Datei.
Ich lese den Wert der Kreisbemaßung aus Skizze1 aus und addiere dann 4 mm hinzu.
Mit dieser Zahl kannst du dann deine Eigenschaft oder auch den Dateinamen "füttern" 

------------------
==========
Gruß
Andreas
==========

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 03. Dez. 2020 10: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 Nur für Malte70 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Malte70:
Ich Programmiere jetzt notgedrungen nebenher ca.3 Wochen.

Man kann sich halt nicht in ein Lambo setzen und direkt den Grand Prix gewinnen.  , muss erstmal fahren lernen. 
Bin einfach froh über jede Hilfe.
...


Hallo Peter    (siehe mein Post vorher)

deshalb versuchen wir ja auch hartnäckig zu helfen,
aber der Verlauf erweckt noch nicht so den Eindruck, als wenn die Hilfe ankommt.
ich mein in dem Sinn, dass du im eigenen Quelltext die Hinweise berücksichtigst.

wir machen das hier nämlich auch nur nebenbei und aus Enthusiasmus - die meisten jedenfalls.

Gruß, Christian

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: 03. Dez. 2020 12: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 Nur für Malte70 10 Unities + Antwort hilfreich

Hallo Malte,

Zitat:
Globale Variablen würde ich da gerne aus vielen Gründen weglassen
.

Der Charm beim Arbeiten mit einer zusätzlichen globalen Variable quasi als Hilfsvariable wäre eine direkte Abhängigkeit der Eigenschaft von der Bemaßung, d.H. die Eigenschaft ändert sich automatisch mit bei Bemaßungsänderung.

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 03. Dez. 2020 14:41    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

@ Christian

Das weiß ich doch, dafür bin ich auch echt dankbar.
Wenn ich mal etwas Luft habe werde ich mir das auch alles mal von vorne anschauen. 


@ Bernd

das Problem ist, das die Teile nicht richtig erstellt wurden, und das möglichst keine Abhängigkeiten vorhanden sein sollen.

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 03. Dez. 2020 15:41    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 Malte70 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Malte70:
... Wenn ich mal etwas Luft habe werde ich mir das auch alles mal von vorne anschauen ...

Den schwitzenden Holzfäller mit der stumpfen Säge kennst du?
auf den Tip die Säge zu schärfen winkt er ab "keine Zeit, ich muss ja noch die ganzen Bäume fällen"

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 04. Dez. 2020 11:50    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

@Christian

bei mir müsste der Holzfäller erstmal fahren um ein Blatt zu holen,in der Zeit kommen dann die Holzfällerkollegen und und bohren Löcher in den Baum, damit man keine Möbel mehr daraus bauen kann 

@Bernd
Hat jetzt alles funktioniert   

Ich werde mir als nächstes meine Bücher schnappen und diese genauer anschauen und mir das alles von vorne aneignen.

  Vielen ,vielen Dank nochmal, auch das ihr hier nicht an mir verzweifelt seid 

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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