Accesso a blocchi AutoCAD con Inventor API

UomoOmbra

Utente poco attivo
Professione: progettista
Software: Inventor 2010
Regione: Lombardia
#1
Buon giorno a tutti,

ho la necessità di accedere agli attributi di blocchi AutoCAD inseriti nella messa in tavola di Inventor (file .dwg) mediante codice VBA, qualcuno sa dirmi come fare o indicarmi dove posso trovare degli esempi ?
Ho già cercato in MOD the MACHINE di Autodesk ma non sono riuscito a trovare niente !

Grazie.
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#2
Ti consiglio:
a) di ricercare come gestire i blocchi autocad in autocad piuttosto che blocchi Inventor in autocad, escono più risposte;
b) aggiungere come riferimento al VBA di Inventor i riferimenti alle librerie di Autocad e vedere cosa ti propone l'editor dopo aver definito i blocchi;
c) di registrarti al forum, cosa vieppiù ripetuta in mille discussioni, sempre gradita a grandi e piccini, e che fa venire voglia agli altri utenti di smazzarsi un po' di più per aiutarti :tongue:.

Mai fatto questi ibridi quindi non so darti risposte veloci.
Ciao!
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#3
Ti consiglio:
a) di ricercare come gestire i blocchi autocad in autocad piuttosto che blocchi Inventor in autocad, escono più risposte;
b) aggiungere come riferimento al VBA di Inventor i riferimenti alle librerie di Autocad e vedere cosa ti propone l'editor dopo aver definito i blocchi;
c) di registrarti al forum, cosa vieppiù ripetuta in mille discussioni, sempre gradita a grandi e piccini, e che fa venire voglia agli altri utenti di smazzarsi un po' di più per aiutarti :tongue:.

Mai fatto questi ibridi quindi non so darti risposte veloci.
Ciao!
Come quoto con grande accanimento il punto C....
 

UomoOmbra

Utente poco attivo
Professione: progettista
Software: Inventor 2010
Regione: Lombardia
#4
@Catafratto,
a) Se ho bisogno di gestire dei blocchi AutoCAD in Inventor è perchè voglio completare il disegno in Inventor e non in AutoCAD, come accade ora, in quanto non voglio gestire 2 documenti praticamente simili
b) le modalità di accesso agli oggetti di inventor via VBA non si trovano semplicemente attivando i riferimenti
c) scusa, ma tu sei il moderatore ?

@Catafratto & Tarkus
Veramente pensavo di trovare un aiuto concreto e non frasi prive di senso
 

pompeo79

Utente Standard
Professione: Digital Prototyping
Software: Inventor - Autocad - Showcase
Regione: Piemonte-Liguria
#5
@Catafratto,

c) scusa, ma tu sei il moderatore ?

@Catafratto & Tarkus
Veramente pensavo di trovare un aiuto concreto e non frasi prive di senso
Inizi con il piede sbagliato caro UomoOmbra...

1) Catafratto, a presciendere che sia moderatore o meno, ti ha risposto con cortesia e soprattutto ti ha risposto con un consiglio (anzi tre), uno dei quali tra l'altro ribadito da un altro utente. Cortesia che non sembra tu abbia restituito.

2) L'aiuto concreto ti sarebbe stato anche dato.
Le frasi postate come consiglio sono chiarissime, il fatto che tu le trovi senza senso alcuno rende complicato anche consegnarti una eventuale risposta tecnica alla tua domanda, che, visto l'argomento, potrebbe risultare non semplice.

Per ottenere un servizio dedicato e avanzato come questo, domanda per la quale non troverai probabilmente nulla nè in guide nè in rete, rivolgendosi a società che si occupano di soluzioni di questo tipo ti si potrebbe chiedere dai x00 ai x000 euro di preventivo.

Ora per avere anche una sola possibilità e opportunità di avere una risposta completamente gratuita da persone estremamente competenti (quali sono ad esempio i due utenti che hanno cercato di suggerirti) in questo forum... non sarebbe stato meglio:

1) leggere le regole del forum
2) se dimentichi del punto 1, capita non è una tragedia, cercare di riparare dopo che qualcuno ce l'ha fatto osservare
3) osservare un minimo di gentilezza e magari lasciare da parte l'ironia e strafottenza

?

In bocca al lupo!
 

UomoOmbra

Utente poco attivo
Professione: progettista
Software: Inventor 2010
Regione: Lombardia
#6
Caro Pompeo79,
1) la domanda se Catrafatto sia il modratore si riferisce al fatto che mi suggerisce di registrarmi al forum, cosa che peraltro ho fatto nel lontano 2010 (altrimenti come potrei creare una discussione!)
e quindi mi sono chiesto se questa non fosse una attività di pertinenza del moderatore.

2) anche la mia domanda è chiara e semplice....scusa ti spiacerebbe spiegarmi la frase postata da Tarkus e come risponde al mio quesito ?

Al dire il vero era da diversi anni che non frequentavo il forum, quindi mi sono riletto tutte e 13 le regole....non mi sembra di aver contravvenuto a nessuna di esse.

Non è vero che in rete non si trovano esempi di codici in VBA o .NET per Inventor, in passato ho già trovato dei buoni spunti, ma su come accedere ad un blocco in Inventor non sono riuscito a trovare ancora niente (l'ho anche scritto nel post iniziale).

Spero di ricevere un aiuto concreto, cioè: un esempio di codice oppure un riferimento a dove posso trovare qualcosa in merito.

Crepi ! (......il lupo, ovviamente! Non vorrei essere frainteso)
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#7
Non che mi interessino più di tanto i tuoi problemi , ma visto che mi ritiri in ballo ti faccio notare che:
-Chiunque ,anche non moderatore ,penso possa esprimersi in merito al comportamento di un utente, lo hanno fatto varie volte nei miei riguardi e ho sempre accettato (ed eventualmente ribattuto) le critiche senza chiedere qual'era il "grado" delle persone che si esprimevano in merito a quanto scrivevo.
-Tu ti sarai anche registrato sul forum nel 2010, ma al momento della tua discussione appariva sotto al tuo profilo che eri al messaggio n°1,quindi al PRIMO messaggio.Forse un errore del sistema?
-Quello che Catafratto ti invitava a fare e che non hai ancora fatto, era quello di ottemperare a quanto scritto nella prima discussione del forum Inventor:
http://www.cad3d.it/forum1/showthread.php?132-Nuovi-utenti-INVENTOR-presentatevi-qui
Forse non hai letto con la dovuta attenzione la parte relativa alle discussioni importanti e regole della sezione di Inventor:
più o meno c'è scritto che quando suoni il campanello a casa di qualcuno, gli dici chi sei e per educazione anche cosa fai !!!
-Inoltre il mio intervento era unicamente per quotare quanto scritto da Catafratto in merito al punto "C" del suo post e non per aggiungere altro in merito al tuo problema ,visto che non ne ho la cognizione , del resto Catafratto ti ha già risposto che secondo lui stai cercando di usare un metodo controproducente.

Se poi tutte queste ti sembrano " frasi prive di senso", fai come vuoi...
Permettimi però di darti un consiglio:
Se questo è il tuo unico modo di approcciarsi ai forum, restane fuori.
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#8
No, ho effettivamente sbagliato termine, ho scritto "registrarsi" invece che presentarsi... Chiedo venia.
 

UomoOmbra

Utente poco attivo
Professione: progettista
Software: Inventor 2010
Regione: Lombardia
#10
Caro Tarkus,

vorrei farti notare che non sono stato io a "tirarti in ballo", ma sei stato tu a rispondere alla mia discussione, per altro per tua stessa ammissione senza alcuna cognizione e interesse, solo per "quotare" (un giorno mi spiegherete il significato di questo slang) quanto scritto da Cartafratto.

Ho come l'impressione che quando hai letto il mio post tu abbia pensato: ma guarda questo pivello (1° messaggio) ha ancora il mouse sporco di latte ! Sarà bene insegnarli come si lavora e si sta al mondo !

Ho già spiegato il motivo per ho bisogno di risolvere il problema in Inventor e non in AutoCAD, dove per altro ho già scritto un piccolo programma per accedere ai blocchi via VBA. Quindi siccome devo risolvere questo problema ho continuato a cercare e cercando cercando ho trovato un esempio che funziona, l'ho già testato:
***************************************************************************
Sub EditBlockAttributes()

If ThisApplication.ActiveDocumentType <> kDrawingDocumentObject Then Exit Sub

Dim oDoc As Inventor.DrawingDocument
Set oDoc = ThisApplication.ActiveDocument


Dim aCadBlocks As AutoCADBlocks
Set aCadBlocks = oDoc.ActiveSheet.AutoCADBlocks

Dim aCadBlock As AutoCADBlock

'' This will cycle through all AutoCAD blocks in the currently open drawing.
'' To reference a block you can reference it by name .aCadBlocks.Item("Name of Block")
'' or by its index number
For Each aCadBlock In aCadBlocks

'' This is the name of the AutoCAD block which is currently being referenced.
Debug.Print aCadBlock.Name
MsgBox aCadBlock.Name

Dim stags() As String
Dim sAttr() As String

'' Get the prompted entry tags to view the values
Call aCadBlock.GetPromptTextValues(stags(), sAttr())

Dim i As Integer
'' Cycle through and view values
For i = 0 To UBound(stags)

Debug.Print stags(i) & " = "; sAttr(i)
'' Here is how to edit a specific value
If stags(i) = "NOTE_VISIVO_2" Then
sAttr(i) = "paperino"
Debug.Print stags(i) & " = "; sAttr(i)
End If

Next

'' to save the changes you run the .SetPromptTextValues method
Call aCadBlock.SetPromptTextValues(stags(), sAttr())

Next
End Sub
**************************************************************************
forse può essere utile a qualcuno.

Adesso devo risolvere il successivo step (accedere a un file excel da cui estraggo le info da inserire nei blocchi).......ma state tranquilli, non aprirò un' altra discussione.

@Catrafatto
No problem!

Grazie a tutti.

PS appena avrò il tempo mi presenterò
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#11
Caro Pompeo79,


vorrei farti notare che non sono stato io a "tirarti in ballo", ma sei stato tu a rispondere alla mia discussione, per altro per tua stessa ammissione senza alcuna cognizione e interesse, solo per "quotare" (un giorno mi spiegherete il significato di questo slang) quanto scritto da Cartafratto.

Ho come l'impressione che quando hai letto il mio post tu abbia pensato: ma guarda questo pivello (1° messaggio) ha ancora il mouse sporco di latte ! Sarà bene insegnarli come si lavora e si sta al mondo !

Ho già spiegato il motivo per ho bisogno di risolvere il problema in Inventor e non in AutoCAD, dove per altro ho già scritto un piccolo programma per accedere ai blocchi via VBA. Quindi siccome devo risolvere questo problema ho continuato a cercare e cercando cercando ho trovato un esempio che funziona, l'ho già testato:
***************************************************************************
PS appena avrò il tempo mi presenterò
Guarda bene cosa scrivi:
Qui mi "ritiri in ballo e in maniera piuttosto offensiva o quanto meno maleducata :
" @Catafratto & Tarkus
Veramente pensavo di trovare un aiuto concreto e non frasi prive di senso "

Priva di senso può essere semmai la tua affermazione:
"Ho come l'impressione che quando hai letto il mio post tu abbia pensato: ma guarda questo pivello (1° messaggio) ha ancora il mouse sporco di latte ! Sarà bene insegnarli come si lavora e si sta al mondo !"

Poi, per tua conoscenza ti spiego che quotare in questo caso (e in tutti i forum) vuol dire condividere , appoggiare l'opinione espressa da un utente.

Certo che con tutto quello che hai scritto, un minutino per passare alle presentazioni potevi anche trovarlo.
Ma forse sei superiore a queste cose.

PASSO E CHIUDO. :36_1_1:
 

Sandra_ME30

Super Moderatrice
Professione: SuperModeratrice
Software: ND
Regione: Reggio Emilia
#12
c) di registrarti al forum
Come quoto con grande accanimento il punto C....
c) scusa, ma tu sei il moderatore ?

@Catafratto & Tarkus
Veramente pensavo di trovare un aiuto concreto e non frasi prive di senso
Inizi con il piede sbagliato caro UomoOmbra...
(cut) uno dei quali tra l'altro ribadito da un altro utente. Cortesia che non sembra tu abbia restituito.
Caro Pompeo79,
1) la domanda se Catrafatto sia il modratore si riferisce al fatto che mi suggerisce di registrarmi al forum, cosa che peraltro ho fatto nel lontano 2010 (altrimenti come potrei creare una discussione!)
e quindi mi sono chiesto se questa non fosse una attività di pertinenza del moderatore.

2) anche la mia domanda è chiara e semplice....scusa ti spiacerebbe spiegarmi la frase postata da Tarkus e come risponde al mio quesito ?

Al dire il vero era da diversi anni che non frequentavo il forum, quindi mi sono riletto tutte e 13 le regole....non mi sembra di aver contravvenuto a nessuna di esse.
Certo che con tutto quello che hai scritto, un minutino per passare alle presentazioni potevi anche trovarlo.
Come una parola errata può generare una incomprensione...


No, ho effettivamente sbagliato termine, ho scritto "registrarsi" invece che presentarsi... Chiedo venia.
ecco... :smile:

Comunque vorrei ricordare che la Presentazione non è obbligatoria ma semplicemente una buona creanza, un buon biglietto da visita.

P.S.: Sul profilo di UomoOmbra: iscritto dal Maggio 2010.


Buona continuazione
 

pompeo79

Utente Standard
Professione: Digital Prototyping
Software: Inventor - Autocad - Showcase
Regione: Piemonte-Liguria
#13
Ricevuto reclami? :biggrin:
:smile: Buona creanza insieme all'educazione e rispetto. :smile:
Direi a prescindere da qualsiasi iscrizione. Si? Soprattutto verso chi cerca di aiutare :smile: