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

イオン

  • Thread starter Thread starter gigi.iacu
  • Start date Start date

gigi.iacu

Guest
ilogic マクロ numeri Progressivi: ho creato una regola su ilogic che al click del マウス mi posiziona un numero Progressivo. però、ランダム、esce dalla マクロ。 ne vorrei capire il perchè.


Allegoプログラムマ。 si basa su un foglio.idw.
ho creato una nota sugli 編集 dei testi chiamata premontaggio (ostyle = odoc.stylesmanager.textstyles.item("premontaggio")))))

ho creato una variabile Personalizzata chiamata premontaggio che va aprendere il valore attraverso un modulo. sulla マクロ スロート anche un 入力 ボックス con apice iniziale.

サブメイン()
'parameter.updateafterchange = true
dim n_premontaggio として 整数

インタラクションとしてダイムオインタラクション
ointeraction = thisapplication.commandmanager.createinteractionevents

dim omouse として mouseevents
マウス = ointeraction.mouseevents
addhandler OMOuse.onmouseclick, アドレスof omouse_onmousedown

ointeraction.start(オインタラクション)
'parameter("premontaggio") = inputbox("inserire numero premontaggio", "premontaggio", パラメータ("premontaggio"))

エンドサブ

sub omouse_onmousedown(マウスブトン、シフトキーをポイントとしてモデル位置、ポイント2d、inventor.viewとしてビュー)
パラメータ.updateafterchange = true

odrawdocをdrawdocumentとして
odrawdoc = このアプリケーション.activedocument

' アクティブシートへの参照を設定します。
dim oactivesheet をシートとして
oactivesheet = odrawdoc.activesheet

' 汎用オブジェクトへの参照を設定
dim の一般ノートとして一般ノート
ジェネラルノート = oactivesheet.drawingnotes.generalnotes

過渡幾何学としてdimのotg
otg = thisapplication.transientgeometry

'入力として単純な文字列でテキストを作成します。 これは使用しないので
' テキストが上書きされると、デフォルトはアクティブなテキストスタイルになります。
stext を文字列として定義する
'messagebox.show(1,1)
dim の一般記者として一般記者

' 左側に番号をつけて整列する一連のメモを作成します。
dim dycoord として ダブル
dim dxcoord として ダブル

dycoord = modelposition.y(モデルポジション)
dxcoord = modelposition.x

dim ostyle をテキストスタイルとして
odocをdrawdocumentとして
odoc = このアプリケーション.activedocument
ostyle = odoc.stylesmanager.textstyles.item("premontaggio")
'messagebox.show(2,2)
generalnote = ogeneralnotes.addfitted(otg.createpoint2d(dxcoord、dycoord)、パラメータ("premontaggio")、ostyle)

'messagebox.show(3,3)
パラメーター("premontaggio") = パラメータ("premontaggio") + 1
'messagebox.show(4,4)
エンドサブ
 
Last edited:
risolto dichiarando le variabili 公共.

シンタネディケーターコード snippetpublic モジュール classefl
インタラクションとしてのパブリックオインタラクション
mouseevents として公開マウス
drawdocをdrawdocumentとして公開
シートとして公開オアクティブシート
一般記帳として一般記帳として公開
一時的な幾何学として公共のotg
文字列としてのパブリックテキスト
一般記帳としての一般記帳
公共 dycoord として ダブル
公共 dxcoord として ダブル
テキストスタイルとしてのパブリックostyle
公開odocはdrawdocumentとして
エンドモジュール


サブメイン()
ointeraction = thisapplication.commandmanager.createinteractionevents
マウス = ointeraction.mouseevents
addhandler OMOuse.onmouseclick, アドレスof omouse_onmousedown
ointeraction.start(オインタラクション)

エンドサブ

sub omouse_onmousedown(マウスブトン、シフトキーをポイントとしてモデル位置、ポイント2d、inventor.viewとしてビュー)
パラメータ.updateafterchange = true

odrawdoc = このアプリケーション.activedocument

' アクティブシートへの参照を設定します。

oactivesheet = odrawdoc.activesheet

' 汎用オブジェクトへの参照を設定

ジェネラルノート = oactivesheet.drawingnotes.generalnotes


otg = thisapplication.transientgeometry

dycoord = modelposition.y(モデルポジション)
dxcoord = modelposition.x

odoc = このアプリケーション.activedocument
ostyle = odoc.stylesmanager.textstyles.item("premontaggio")

generalnote = ogeneralnotes.addfitted(otg.createpoint2d(dxcoord、dycoord)、パラメータ("premontaggio")、ostyle)

パラメーター("premontaggio") = パラメータ("premontaggio") + 1
エンドサブ
 
解決策を投稿していただきありがとうございます(私が見つけられない)、間違いなく役立ちます!
 
チャオ % 1,
ilogicsコード(ベース、中間、専門家)の管理に関するあなたの経験ベースは何ですか?

私は元のilogicコードに「ベスト」を作ったり、基本的なエラーコントロールを追加したり、パブリック変数(私の意見では必要ありません)の使用を削除したり、最新バージョンのinventor(2024)でテストしました。
Code:
サブメイン()
dim ointeraction asインタラクション = thisapplication.commandmanager.createinteractionevents
dim omouse as mouseevents = ointeraction.mouseevents
addhandler OMOuse.onmouseclick, アドレスof omouse_onmousedown
オートインタラクション。 スタート
エンドサブ

プライベートサブ omouse_onmousedown(マウスボタン、シフトキーをシフトステートとして、ポイントとしてモデル位置、ポイント2dとしてビュー、inventor.viewとして表示)
お問い合わせ
odoc = このアプリケーション.activedocument
このapplication.activedocument.documenttype.equals(documenttypeenum.kdrawingdocumentobject)の場合 それから
Progressivo = パラメータ.param("premontaggio")

opoint = thisapplication.transientgeometry.createpoint2d(modelposition.x, modelposition.y)

ostyle = odoc.stylesmanager.textstyles.item(progressivo.name)

odoc.activesheet.drawingnotes.generalnotes.addfitted(opoint, Progressivo.value,ostyle) を呼び出します。

パラメータ.updateafterchange = true

Progressivo.value = Progressivo.value + 1 の数値
端 もし
システムとして err を捕獲して下さい。 免責事項
メッセージボックス.show(err.message)
エンドトライ
エンドサブ
 
チャオ % 1,
ilogicsコード(ベース、中間、専門家)の管理に関するあなたの経験ベースは何ですか?

私は元のilogicコードに「ベスト」を作ったり、基本的なエラーコントロールを追加したり、パブリック変数(私の意見では必要ありません)の使用を削除したり、最新バージョンのinventor(2024)でテストしました。
Code:
サブメイン()
dim ointeraction asインタラクション = thisapplication.commandmanager.createinteractionevents
dim omouse as mouseevents = ointeraction.mouseevents
addhandler OMOuse.onmouseclick, アドレスof omouse_onmousedown
オートインタラクション。 スタート
エンドサブ

プライベートサブ omouse_onmousedown(マウスボタン、シフトキーをシフトステートとして、ポイントとしてモデル位置、ポイント2dとしてビュー、inventor.viewとして表示)
お問い合わせ
odoc = このアプリケーション.activedocument
このapplication.activedocument.documenttype.equals(documenttypeenum.kdrawingdocumentobject)の場合 それから
Progressivo = パラメータ.param("premontaggio")

opoint = thisapplication.transientgeometry.createpoint2d(modelposition.x, modelposition.y)

ostyle = odoc.stylesmanager.textstyles.item(progressivo.name)

odoc.activesheet.drawingnotes.generalnotes.addfitted(opoint, Progressivo.value,ostyle) を呼び出します。

パラメータ.updateafterchange = true

Progressivo.value = Progressivo.value + 1 の数値
端 もし
システムとして err を捕獲して下さい。 免責事項
メッセージボックス.show(err.message)
エンドトライ
エンドサブ
こんにちは、私はベースと言います。 つまり、i-logic ルールを追加し、それを行う方法です。 "premontage" という名前でパラメーターが見つからないので、エラーが出ます。 私はエディタのスタイルに追加する必要があります理解したものから. エディタに既に存在するスタイルの一つでコードに事前アセンブリを交換しました。 しかし、それはとにかく動作しません。 私の間違いはどこですか?
 
元のコードでは、スタイルとパラメータは、パラメータのスタイルに加えて、同じ名前( "preassembly")を持っています。
小さな変更で、パラメータはルール実行で追加できます。
 

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