• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Estensioni modello piatto

dicifa

Utente Standard
Professione: Progettista
Software: inventor - AutoCad
Regione: lombardia
#1
Ciao a tutti, ho una domanda da porvi.....
quando sono in ambiente lamiera ho bisogno di esportare le estensioni del modello piatto in iPROPERTIES prima di fare le tavole(dove c'è già la possibilità di inserire lo sviluppo nel cartigllio).....ho provato ma non c'è modo di farlo....voi avete qualche idea?

grazie...
 

Stiky

Utente Standard
Professione: Progettista
Software: Inventor
Regione: Veneto
#2
Ciao a tutti, ho una domanda da porvi.....
quando sono in ambiente lamiera ho bisogno di esportare le estensioni del modello piatto in iPROPERTIES prima di fare le tavole(dove c'è già la possibilità di inserire lo sviluppo nel cartigllio).....ho provato ma non c'è modo di farlo....voi avete qualche idea?

grazie...
solo con una macro VBA
 

Stiky

Utente Standard
Professione: Progettista
Software: Inventor
Regione: Veneto
#4
Purtroppo non so risponderti.

Io ho acquistato un plug-in sviluppato dal mio rivenditore.
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#5
Ciao a tutti, ho una domanda da porvi.....
quando sono in ambiente lamiera ho bisogno di esportare le estensioni del modello piatto in iPROPERTIES prima di fare le tavole(dove c'è già la possibilità di inserire lo sviluppo nel cartigllio).....ho provato ma non c'è modo di farlo....voi avete qualche idea?

grazie...
Per estensioni intendi le dimensioni del quadrotto di lamiera da dove ricavare lo sviluppo?
 

dicifa

Utente Standard
Professione: Progettista
Software: inventor - AutoCad
Regione: lombardia
#6
si Tarkus, ho proprio bisogno di quello.......tu sai come fare?
 

diegus

Utente Standard
Professione: cad specialist
Software: Inventor, CatiaV5R18, ShowcasePRO, Autocad Mechanical, Fusion 360, Inventor Publisher
Regione: Campania
#8
quando fate la messa in tavola c'è la possibilità di ottenere queste misure come campo dati di un testo: Proprietà lamiera/estensione
 

dicifa

Utente Standard
Professione: Progettista
Software: inventor - AutoCad
Regione: lombardia
#9
grazie diegus....lo sapevo già ma non è quello che cerco. Ho provato anchio a chiedere al mio rivenditore e mi ha chiesto circa 1200€.....
 

selva

Utente Junior
Professione: progettistia
Software: Inventor
Regione: Lombardia
#10
TROVATO!

=<FLAT PATTERN LENGTH> cm
=<FLAT PATTERN WIDTH> cm
=<FLAT PATTERN AREA> cm^2
 

diegus

Utente Standard
Professione: cad specialist
Software: Inventor, CatiaV5R18, ShowcasePRO, Autocad Mechanical, Fusion 360, Inventor Publisher
Regione: Campania
#11
che è quello che dicevo io
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#15
grazie diegus....lo sapevo già ma non è quello che cerco. Ho provato anchio a chiedere al mio rivenditore e mi ha chiesto circa 1200€.....
Per 1150€ (un'offertona, come vedi) ti concedo il permesso di copiarti questa macro nel modulo VBA (con procedura descritta in precedenza in questo forum trovala!)

Contanti? :rolleyes:

Private Sub flatPatternExtents()
' Definisce le variabili principali
Dim oPart As PartDocument
Dim oFlat As FlatPattern
Dim oSheetCompDef As SheetMetalComponentDefinition


' Controlla che il documento attivo sia un documento o un FlatPattern
If Not ((TypeOf ThisApplication.ActiveEditObject Is FlatPattern) Or _
(TypeOf ThisApplication.ActiveEditObject Is PartDocument)) Then
MsgBox "Una parte o un flatpattern devono essere presenti"
Exit Sub
End If

If TypeOf ThisApplication.ActiveEditObject Is PartDocument Then
Set oPart = ThisApplication.ActiveEditObject
Set oSheetCompDef = oPart.ComponentDefinition
Set oFlat = oSheetCompDef.FlatPattern
Else
Set oFlat = ThisApplication.ActiveEditObject
Set oPart = oFlat.Document

End If



' Controlla che il FlatPattern esista
If oFlat Is Nothing Then
MsgBox "La parte deve avere il flatpattern"
Exit Sub
End If

' Si crea l'iProperty "sviluppo" e si compila
' Nota: si moltiplica *10 per convertire da cm a mm
Dim oText As String
oText = Round(oFlat.Width) * 10 & "x" & Round(oFlat.Length * 10)

Dim oCustomPropSet As PropertySet
Set oCustomPropSet = oPart.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")

'Elimina la proprietà e la scrive nuova
'Se non esiste si ignora l'errore generato
On Error Resume Next
oCustomPropSet.Item("Sviluppo").Delete

Call oCustomPropSet.Add(oText, "Sviluppo")

End Sub
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#16
:4425: Grande Catafratto, gli utenti di CAD3D dovrebbero candidarti per il premio Nobel per il VBA :4425:
 

dicifa

Utente Standard
Professione: Progettista
Software: inventor - AutoCad
Regione: lombardia
#19
Per 1150€ (un'offertona, come vedi) ti concedo il permesso di copiarti questa macro nel modulo VBA (con procedura descritta in precedenza in questo forum trovala!)

Contanti? :rolleyes:

Private Sub flatPatternExtents()
' Definisce le variabili principali
Dim oPart As PartDocument
Dim oFlat As FlatPattern
Dim oSheetCompDef As SheetMetalComponentDefinition


' Controlla che il documento attivo sia un documento o un FlatPattern
If Not ((TypeOf ThisApplication.ActiveEditObject Is FlatPattern) Or _
(TypeOf ThisApplication.ActiveEditObject Is PartDocument)) Then
MsgBox "Una parte o un flatpattern devono essere presenti"
Exit Sub
End If

If TypeOf ThisApplication.ActiveEditObject Is PartDocument Then
Set oPart = ThisApplication.ActiveEditObject
Set oSheetCompDef = oPart.ComponentDefinition
Set oFlat = oSheetCompDef.FlatPattern
Else
Set oFlat = ThisApplication.ActiveEditObject
Set oPart = oFlat.Document

End If



' Controlla che il FlatPattern esista
If oFlat Is Nothing Then
MsgBox "La parte deve avere il flatpattern"
Exit Sub
End If

' Si crea l'iProperty "sviluppo" e si compila
' Nota: si moltiplica *10 per convertire da cm a mm
Dim oText As String
oText = Round(oFlat.Width) * 10 & "x" & Round(oFlat.Length * 10)

Dim oCustomPropSet As PropertySet
Set oCustomPropSet = oPart.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")

'Elimina la proprietà e la scrive nuova
'Se non esiste si ignora l'errore generato
On Error Resume Next
oCustomPropSet.Item("Sviluppo").Delete

Call oCustomPropSet.Add(oText, "Sviluppo")

End Sub
Sei un grande!!!...io in cambio ti posso fissare un appuntamento con Ruby Ruba Cuori!!! :36_1_1::36_1_1::36_1_1:

...però qui nasce un problemino...non mi ricordo più come fare le macro....
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#20
Apri il file modello .idw
ALT+F11 per accedere all'editor Visual Basic
In alto a Sx, nel browser, espandere Progetto DOCUMENTO > Modules
Doppio click su Modulo1
Copiare la macro nella finestra grande.
Collegare la macro ad un tastino a proprio gusto mediante tasto DX sulla barra superiore -> personalizza comandi utente