• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

パラメーターの作成 con vba

  • Thread starter Thread starter MARCOC
  • Start date Start date

MARCOC

Guest
buongiorno a tutti

ho trovato su intrenet queste righe di vba che dovrebbero creare un parametro "newparam1" al'interno di in file parte assieme??? non so di inventor

il tutto non funziona, qualcuno mi sa dare un amano e dirmi cos ace che non va???

sicuramente manca qualche pezzo ma non so cosa e dove


sub prova()
dim ouserparams as userparameters
set ouserparams = ocompdef.parameters.userparameters
dim oparam as parameter
set oparam = ouserparams.addbyexpression("newparam1", "3", _
kinchlengthunits)

end sub

grazie mille
 
visto che la defininizione di "parte assieme" è per me particolarmente fumosa ho aggiornato l'esempio che si rova nell'help di inventor (? in alto a destra> ? > guida di programmazione/api>sample programs>general>parameters) da cui credo siano state state estratte alla membro di levriero le righe che hai trovato in rete. l'esempio originale funzionava solo con i file parte; questo anche con i file assieme. il codice che hai trovato era privo delle righe di codice dove si dice al programma su cosa agire, ovvero nel nostro caso l'"activeeditdocument" ovvero il documento che stai editando al momento del lancio della macro.

Code:
public sub createparameters()
    ' get the active document.
    dim odoc as document
    set odoc = thisapplication.activeeditdocument
    
    ' get the userparameters collection
    dim userparams as userparameters
    

    select case odoc.documenttype
        case kassemblydocumentobject
            dim oassy as assemblydocument
            set oassy = odoc
            set userparams = oassy.componentdefinition.parameters.userparameters
        
        case kpartdocumentobject
            dim opart as partdocument
            set opart = odoc
            set userparams = opart.componentdefinition.parameters.userparameters
        
        case else
            msgbox ("errore")
            exit sub
    end select
    
    
    
    ' create a parameter using an expression.  the parameters unit is specified
    ' as millimeters, but the value of the parameter will be 3 inches because
    ' the unit is specified as part of the expression.
    dim param as parameter
    set param = userparams.addbyexpression("newparam1", "3 in", kmillimeterlengthunits)
    
    ' create a parameter using a value.  when setting by value, the value is always
    ' in database units.  in this case it is a length so it will always be in
    ' centimeters.  the units used for the parameter will be the current length units
    ' of the document because it's defined to use the default display length units.
    set param = userparams.addbyvalue("newparam2", 3 * 2.54, kdefaultdisplaylengthunits)
end sub
 
grazie mille catafratto ..ora funziona...
ti presento un altro problema... questa macro dovrebbe cambiarmi il fattore k al componente in lamiera...sempre trovata su internet...questa parte e poi si pianta dove vedi la scritta in giallo...mi sai dire perché??? io ho inv 2015 ho provato a cercare nella libreria oggetti ma il "activeunfoldmethod" non lo trova...e per quello che si pianta??? e se si come si risolve???
solo tu catafratto che sei molto ferrato su vba mi puoi dare una mano

grazie ancora

fattore k.PNG
 
prova con ... = osheetmetalstyle.unfoldmethod

quando non trovi qualcosa prova a cercare ... un punto prima, ovvero se non trovi unfoldmethod cerca sheetmetalstyle.

e soprattutto dai un'occhiata agli esempi nel posto dove ho indicato prima che c'è l'esempio che mostra come accedere alle caratteristiche dello sheetmetal (insieme ad un altra decina di esempi vari sull'argomento)
 
ok.catafratto...pero oltre a quello come mai activunfoldmethod nella libreria degli oggetti che ho io no lo trovo???...questi possono cambiare da versione a versione di inventor???

ho provato a sostituirlo con quello che hai scritto tu...adesso la macro si pianta più avanti e non so cosa fare


Cattura3.PNG

perché li dopo il punto il value non me lo trova???
 
activeunfolmethod non lo trovi perché non c'é
unfoldmethod.value dà errore perchè non c'é
unfoldmethod.kfactor c'è e ti compare tra le scelte dopo la digitazione del '.' di "ounfoldmethod."

usa l'help: devi averlo sempre aperto, mica è roba che impari a memoria ma roba che impari a cercare. fa prove. fa ca££ate e vedi che succede. cambia sito dove trovi il codice (o assicurati che non sia postato da qualcuno che chiede come mai non funziona :tongue:)
 
ciao catafratto...innanzitutto grazie...adesso funziona...pero io quella macro la scritta brian ekins che e uno sviluppatore autodesk...scrive un sacco di forum e molti tutorial...mi sembra strano che scriva delle stringhe che non esistono...sai dirmi qualcosa di piu???..
 
che ha fatto un errore, visto che non funziona :-)
so chi è ekins, leggo sempre il suo blog ed è bravissimo ma è un essere umano e qualcosa può scappargli. oppure il codice è vecchio e qualcosa è cambiato nel frattempo. oppure ci sono dei pezzi che mancano. oppure mille altre cose che dipendono dal contesto in cui è stata scritta la cosa (posta il link se vuoi). comunque vedi anche tu, no? con .value non va, con .kfactor va. nell'help unfoldmethod.value non c'è, unfoldmethod.kfactor c'è.
 
incuriosito ho fatto una ricerca, credo di aver trovato il post ed è del 2006, tante cose sono cambiate da allora. stando all'help il .kfactor è stato introdotto nel 2009. grossi aggiornamenti nella struttura di inventor si ripercuotono sulle api (mi pare gli stili lamiera non fossero in libreria una volta).
 
全てに

コマンドでユーザーパラメータを作成することについて
.userparameters.addbyvalue(文字列、値、単位の名前)
パラメータが存在しているかどうかを検証する方法がある場合は、誰かが私に教えてもらえますか?

お問い合わせ
 
私はそう考えていません, 私はすべてのユーザーパラメータの間でサイクルを行い、そこにいるかどうかを確認します.
 
私はそう考えていません, 私はすべてのユーザーパラメータの間でサイクルを行い、そこにいるかどうかを確認します.
お問い合わせ そこのポイントは、そこにいるかどうかを確認する方法? :
 
お問い合わせ そこのポイントは、そこにいるかどうかを確認する方法? :
お問い合わせ
ユーザパラメータでサイクルし、名前を読み、鉱山と比較します。
ありがとうございました!
 
キーワード:
esiste = 偽
それぞれのオパラムに対しては、
オパラムの場合。 名前 = ilmioparametro その後
esiste = 真
端 もし
次へ
 
こんにちは。

単位 = "mm" でパラメータを読み込むと、"cm" で値を読み込む理由は分かりません。
測定単位が「gr」であっても、角度値が放射剤で読み込まれます。

誰かが私にそれらを度に変える方法を教えてください。
式は角度*180/pi.grecoであるべきですが、私は一定のpi.grecoを見つけません
 
パラメータは、セットドライブから独立した cm に保存されます(親指を使用しない悪い)。

ilogic では定数がより多い

vbaで:
Atn 関数例
ディムパイ
pi = 4 * アットン(Atn)1)

(ヘルプvbaから)
 
お問い合わせ
ありがとうございます。
私はあなたがヘルプvbaについてすべてを見つける知っています, しかし、それは物事を見つけるのは簡単です:sneaky:
 
誰にもこんにちは、この古い女性を取り戻す、私は2018年に発明者2015で働いたルールを試して、最初のラインで私にエラーを与えます1615144902529.png黄色で最初のライン

お問い合わせ
 
誰にもこんにちは、この古い女性を取り戻す、私は2018年に発明者2015で働いたルールを試して、最初のラインで私にエラーを与えますView attachment 61201黄色で最初のライン

お問い合わせ
黄色のカラーラインは、プログラムがそのコースに到着したポイントを示しています。
エラーは下がる可能性があります。
表示されるエラーが表示されますか?
 

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top