Macro om de smartproperties te starten en te valideren

Hallo

Ik wil een macro maken om de axemble smartproperties te starten en deze te valideren om enkele eigenschappen te kunnen bijwerken die alleen door de smartproperties worden aangestuurd.

Het probleem is dat ik de vba niet ken en dat de macrorecorder niet lijkt te werken voor deze macro, die vrij eenvoudig lijkt te zijn.

Het doel is om deze macro vervolgens op te nemen om er een functiemacro van te maken die de eigenschappen van het onderdeel bij elke wijziging bijwerkt.

Het maakt niet uit hoeveel ik kijk op Google en andere, ik hoef niet de juiste zoekitems te typen om een macro te starten vanuit een SW-macro ...

Hallo

Hoe wilt u deze macro starten? Met een knop? Een sneltoets? Bij het openen van een bestand?

 

Elke keer dat het bestand wordt gewijzigd, omdat we de aanduiding van de ruimte ophalen om onze bestellingen automatisch te doen met onze ERP en de bandbreedte en de lengte in de aanduiding moeten worden bijgewerkt en dit wordt alleen gedaan bij het starten van smartproperties.

 

EDIT: Vandaar de wens om deze macro op te nemen in een functie macro

Voor degenen die het niet leuk vinden

http://www.lynkoa.com/tutos/r%C3%A9alisation-dune-macro-fonction-dans-solidworks#

 

Ik denk dat je redding ligt in het gebruik van het hulpprogramma Axemble CustomToolBar, misschien gekoppeld aan LocalHelp.

Interessante informatie hier:

http://www.lynkoa.com/forum/solidworks/solidworks-2014-mycadtools-localhelp-l-ouverture

Bijgevoegd is de hulp van CulstomToolBar.


customtoolbar_fr.chm

En de hulp van LocalHelp


localhelp_fr.chm

Het probleem is dat slechts 1 munt van de 500 heeft deze macro, dus ik kan het niet uitvoeren via Custom Toolbar / lokale hulp

Ik zie een macro-functie, maar daarvoor zou ik een macro moeten maken die een andere macro:SmartProperties 2014-Auto.swp start en die niet in dezelfde map staat als de eerste macro

Voorbeeld van de huidige directory van C:\Macro macro's en smartproperties in C:\Smartproperties

En dit met Run macro zeker

Ah ok, dus om een andere macro in een andere directory te bellen, zou dit moeten werken:

http://help.solidworks.com/2010/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~RunMacro2.html

 

Oh maar ik heb het net herlezen, in feite is er waarschijnlijk geen behoefte aan SmartProperties.

Welke aangepaste eigenschappen worden bijgewerkt?

 

Subsidiaire vraag:

Hoe kunnen we er zeker van zijn dat de persoon de macro meer zal starten dan de smartproperties valideren?

Ik had hetzelfde gevonden, behalve RunMacro in plaats van RunMAcro2, ik probeer dat en dan kom ik terug om het resultaat te vertellen.

Anders, hoe kan ik er zeker van zijn dat de persoon de macro start door een macrofunctie uit te voeren, omdat het voor de 1e keer handmatig wordt gestart als ik het goed heb begrepen en dan start het zichzelf bij elke wijziging, zie voorbeeld macro zwaartepunt bijgevoegd (maar de code is vergrendeld door de auteur ->Axemble)

 

EDIT: voor de eigenschappen die moeten worden bijgewerkt, zijn ze meerdere, afhankelijk van het type onderdeel

1-) Lengte en breedte van een plaatwerk voor plaatwerk

2-) Striplengte berekend op basis van het type strip

   - PVC = Lgbelt+4‰

   - Modulair = Lgbelt+100mm

   - .....

3-) Aanduiding die soms enkele van de hierboven genoemde eigenschappen in beslag neemt


macro_-_centredegravite_2012-12-01.swp
1 like

Aangezien u MyCAD-onderhoud heeft, kunt u het hen rechtstreeks vragen en ons hier het antwoord geven na :)

Vraag gesteld aan het onderhoud bedankt you@.PL

De macro zelf werkt goed, hij start, voegt de macro in de kamerboom in, start de smartproperties valideert het. Als je dan de minste wijziging aan de kust aanbrengt, start hij goed, aan de andere kant heb ik een probleem, afhankelijk van de gebruikte methode, stort hij neer.

Als ik een dimensie wijzig en valideer in het dialoogvenster en vervolgens op Ctrl+Q druk of opnieuw opbouw, is er geen probleem.

Aan de andere kant, als ik de dimensie wijzig en opnieuw bouw in het dialoogvenster voordat ik valideer, crasht de smartproperties.

Als iemand een idee heeft om dit te omzeilen, is de macrocode bijgevoegd in het tekstbestand (onmogelijk om deze in het antwoord te zetten omdat het antwoord te lang is)

Voor de crash heeft onderhoud geen idee, daarom doe ik een beroep op de community!

Hier is de reactie van het onderhoud:

"Het probleem moet zijn dat we proberen een AddIn te lanceren en Solidworks moet dat niet leuk vinden terwijl een macrofunctie actief is."

 

Voor nu ben ik op zoek in de smartproperties proberen om een run eigenschap toe te voegen met de optie om te wachten op het einde van de applicatie of met update eigenschappen.


smartproperties_auto.txt

Sorry als het onderhoud geen oplossing heeft gevonden, ik ben bang dat die er niet is!

Ik kon niets beters vinden, ik sluit het onderwerp.

Ik kon niets beters vinden, ik sluit het onderwerp.

Hallo;
Ik sta mezelf toe om dit onderwerp op te graven (7 jaar in ieder geval)...
het is mogelijk om de Smartproperties aan te roepen vanuit een andere Macro (optioneel te gebruiken met de Integratie tool.
In de installatiemap van Visiativ Tools:
Zoeken en bewerken (met de Solidworks Macro Editor) SmartProperties.swp
Zoek naar de ToolbarID en het nummer dat is gekoppeld aan "Set swDCAddIn = swApp.GetAddInObject"{...}")

Vervolgens om de Smartproperties te initialiseren en te starten:

Sub main()
    Dim swApp                   As Object
    Dim swModel                 As Object
    Dim swDCAddIn               As Object
    Dim strDllFileName          As String
    Dim strExecutablePath       As String
    Dim strRegFileName          As String
    Dim lStatus                 As Long
    Dim retval                  As Long
    Dim ToolbarId               As Long
    
    
    On Error Resume Next
    
    ToolbarId = ***Le N° du ToolBarID***        'Attention, il faut recuperer le numero de la toolbar SmartProperties depuis la macro "Smarproperties_Auto.swp" la plus recente
   
   'On récupére l'application SW
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

    If swModel Is Nothing Then
        MsgBox ("Pas de document actif")
        End
    Else 
Dim stPathMacro As String
        stPathMacro = swApp.GetCurrentMacroPathName
        strRegFileName = Replace(stPathMacro, "-Auto.swp", ".dll")
        strDllFileName = strRegFileName
               
        'on initialise l'Add-ins
        lStatus = swApp.LoadAddIn(strDllFileName)
        
        'on récupére l'Add-ins (Attention, il faut recuperer le numero de l'app SmartProperties depuis la macro "Smarproperties_Auto.swp" la plus recente)
        Set swDCAddIn = swApp.GetAddInObject("{***XXXXX-XXX-XXXX***}")
        
....
            'on lance SmartProperties
             swDCAddIn.OpenAndValidateSmartProperties

End If 

End Sub

Waarschuwing: de ToolBarID- en AppSmarproperties-nummers veranderen bij elke nieuwe update van de MyCad-tools... (En hun locatie ook).

Vriendelijke groeten.