Risultati da 1 a 4 di 4
  1. #1
    Utente poco attivo
    Iscritto dal
    2013
    Messaggi
    5
    Professione
    Programmatore
    Regione
    Piemonte
    Software
    SW

    Predefinito Macro che modifica 2 Custom Properties in base allo Sheet Formats

    Buongiorno a tutti,
    stò sviluppando una Macro che ha lo scopo di modificare il valore di 2 Custom Properties.
    Codice:
    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.ActiveDoc
    Dim myModelView As Object
    Set myModelView = Part.ActiveView
    Set swcuspro = Part.Extension.CustomPropertyManager("")
    
    Dim valoreY As String
    
    valoreY = swcuspro.Set("VarPosition_y", "123456")
    
    Dim valoreX As String
    
    valoreX = swcuspro.Set("VarPosition_x", "123456")
    
    
    End Sub
    Ora devo trovare come modificare dinamicamente queste variabili;
    È possibile ricavare il nome dello Sheet Format?
    In questa maniera potrei valorizzare quste due variabili a seconda del nome dello sheet format.
    Questa Macro verrebbe usata solo dopo aver cambiato lo sheet format.
    Idee?Suggerimenti?
    Grazie a tutti :)

  2. #2
    Utente Standard L'avatar di jenuary
    Iscritto dal
    2007
    Messaggi
    385
    Professione
    Progettista e Programmatore VB.Net
    Regione
    Veneto
    Software
    Solidworks

    Predefinito

    Ciao,
    ti ho sbozzato una macro che dovrebbe fare quello che ti serve, forse di più.
    A cosa ti viene utile sapere le dimensioni del foglio?
    Attenzione a quando hai più fogli nello stesso file, la macro lo puo gestire, ma attualmente associa le proprietà dell'ultimo.
    Ovviamente se è un solo foglio mette quelle dell'unico foglio.
    Ciao
    File Allegati File Allegati

  3. #3
    Utente poco attivo
    Iscritto dal
    2013
    Messaggi
    5
    Professione
    Programmatore
    Regione
    Piemonte
    Software
    SW

    Predefinito

    Grazie jenuary dell' ottimo esempio.
    Io personalmente avevo poi sviluppato questa:
    Codice:
    Dim swApp           As Object
    Dim Part            As Object
    Dim myModelView     As Object
    Dim swModel         As SldWorks.ModelDoc2
    Dim swDraw          As SldWorks.DrawingDoc
    Dim swSheet         As SldWorks.Sheet
    Dim swCusPro        As SldWorks.CustomPropertyManager
    Dim nome_template   As String
    Dim valoreY         As String
    Dim valoreX         As String
    Dim boolstatus      As Boolean
    Dim longstatus      As Long, longwarnings As Long
    Sub main()
    
    Set swApp = _
    Application.SldWorks
    
    Set Part = swApp.ActiveDoc
    Set myModelView = Part.ActiveView
    Set swCusPro = Part.Extension.CustomPropertyManager("")
    Set swDraw = Part
    Set swSheet = swDraw.GetCurrentSheet
    
    'Debug.Print " TemplateName = " & swSheet.GetTemplateName
    
    nome_template = swSheet.GetTemplateName
    
    If nome_template <> "" Then
       If InStr(nome_template, "a4 (ok)") <> 0 Then
          valoreX = swCusPro.Set("var_x", "0.02490")
          valoreY = swCusPro.Set("var_y", "0.0764")
       ElseIf InStr(nome_template, "a3 (ok)") <> 0 Then
          valoreX = swCusPro.Set("var_x", "0.2349")
          valoreY = swCusPro.Set("var_y", "0.0764")
       ElseIf InStr(nome_template, "a2 (ok)") <> 0 Then
          valoreX = swCusPro.Set("var_x", "0.4089")
          valoreY = swCusPro.Set("var_y", "0.0764")
       ElseIf InStr(nome_template, "a1 (ok)") <> 0 Then
          valoreX = swCusPro.Set("var_x", "0.6559")
          valoreY = swCusPro.Set("var_y", "0.0764")
       ElseIf InStr(nome_template, "a0 (ok)") <> 0 Then
          valoreX = swCusPro.Set("var_x", "1.0039")
          valoreY = swCusPro.Set("var_y", "0.0764")
       End If
    End If
    
    End Sub

  4. #4
    Utente Standard L'avatar di jenuary
    Iscritto dal
    2007
    Messaggi
    385
    Professione
    Progettista e Programmatore VB.Net
    Regione
    Veneto
    Software
    Solidworks

    Predefinito

    Ciao Matt_
    ottimo...il fatto comunque di ricavare le dimensioni mediante l'oggetto, ti permetterebbe di confrontare se il tuo formato è allungato o è per esempio un A4 orizzontale anzichè verticale, ecc.
    Ma ovviamente se le tavole le hai fatte tu, tutti questi controlli allora possono essere saltati.
    Se ti serve qualcosa fammi sapere, quando posso aito volentieri.
    Buona giornata a tutti


  • Discussioni Simili

    1. Risposte: 13
      Ultimo Messaggio: 27-02-2017, 17: 25
    2. impostazione/modifica tabella distinta base
      Di ndonio nel forum CATIA V5 CATDrawing
      Risposte: 9
      Ultimo Messaggio: 15-09-2014, 14: 02
    3. Risposte: 2
      Ultimo Messaggio: 21-05-2013, 18: 55
    4. Macro per modifica testo
      Di salvo73 nel forum AutoCAD
      Risposte: 5
      Ultimo Messaggio: 11-04-2012, 15: 41
    5. esempi di macro VB in sheet metal
      Di Tequila nel forum Solid Edge
      Risposte: 1
      Ultimo Messaggio: 14-03-2010, 14: 31

    Segnalibri

    Segnalibri

    Permessi di Scrittura

    • Tu non puoi inviare nuove discussioni
    • Tu non puoi inviare risposte
    • Tu non puoi inviare allegati
    • Tu non puoi modificare i tuoi messaggi
    •  





    CAD3D.it - la community dei progettisti