トップページ フォーラム(掲示板) 製品外 icAPI/CRXの開発 icAPIの開発に関する質問

Viewing 15 posts - 1 through 15 (of 40 total)
  • Author
    Posts
  • #1305
    yokomichi
    Keymaster

      icAPIの利用と開発はAS会員でなくても大丈夫です。
      作ったアドインの権利は作成者次第かと思います。

      残念ですがCOMPOSEではアドインは動かせないです。
      VC++であればIRONCADのプログラムフォルダにサンプルがありますので
      のぞいてみてもいいかもしれません。

      C:\Program Files\IronCAD\20xx\ICAPI\Samples\cplusplus

      #1306
      soushi.maki
      Participant

        @yokomichiさん 回答ありがとうございました。

        とありあえずICAPI2020\Samples\CSharp\MyFirstAddinでソリューションのリビルドをしてみました。VS2017でしたが

        Samples\CSharp\MyFirstAddin\bin\x64\Debugの下に

        MyFirstAddin.dll 2023/08/11

        MyFirstAddin.dll.config 2017/05/30

        MyFirstAddin.pdb 2023/08/11

        の3個のファイルができていました。

        ここまではあってますか?

        このあとIRONCADにアドインさせるには*.msiが必要でしょうか?

         

         

         

         

        #1307
        yokomichi
        Keymaster

          ビルドおめでとうございます。あとは以下で動くかと思います。

          ・出来たdllファイル(MyFirstAddin.dll)をC:\Program Files\IronCAD\2020\binにコピーします。

          ・VS2017用 x64NativeTools コマンドプロンプトを管理者で起動し、次を入力します。
          cd C:\Program Files\IronCAD\2020\bin
          regasm MyFirstAddin.dll

          ・C:\Program Files\IronCAD\2020\Config\Ironcad.Addin.configを適当なフォルダにコピーして
          テキストエディタで開きます。そして一番下から3行上( </AddIns>の上)に下記を追加します。
          ファイルを保存して、元のフォルダに上書きします。

          <AddIn>
          <identify></identify>
          <inprocserver>MyFirstAddin</inprocserver>
          <siteclsid>{6AE87CEF-C966-4938-A945-50D4280F60D0}</siteclsid>
          <modulever></modulever>
          <platformver></platformver>
          <autoload></autoload>
          <system>true</system>
          <displayname>
          <default>MyFirstAddin</default>
          <zh-cn></zh-cn>
          </displayname>
          <description>
          <default>MyFirstAddin2</default>
          <zh-cn></zh-cn>
          </description>
          </AddIn>

          ・IRONCADを起動して、アドインにMyFirstAddinが追加されているのでチェックを入れ有効にします。

           

          #1308
          yokomichi
          Keymaster

            動かなければ、https://ironcad.fun/download/ironcad-addin-sample-cs/のを
            動かすのが一番手っ取り早いと思います。

            #1309
            soushi.maki
            Participant

              VISUAL STUDIO 2017 EXPRESS for DESKTOPでビルドしていました。

              regasm MyFirstAddin.dllで

              debug x64だと
              RegAsm : error RA0000 : ‘C:\Program Files\IronCAD\2021\bin\MyFirstAddin.dll’ は有効な .NET アセンブリではないため、読み込めませんでした。

               

              debug ANY CPU だと

              RegAsm : error RA0000 : ファイルまたはアセンブリ ‘MyFirstAddin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=56647e1eee90f6d4’、またはその依存関係の 1 つが読み込めませんでした。厳密な名前の検証に失敗しまし た。 (HRESULT からの例外:0x8013141A)

              と出ています。

              一旦VISUAL STUDIO 2017 EXPRESS for DESKTOPを削除して

              VISUAL SUDIO 2015 EXPRESS for DESKTOPかCommunityをインストールできないか探したのですが、EXPRESS for DESKTOPは入手できない。CommunityはISOファイルを見つけれたのですがteam explore for microsoft visual studio 2015 update3 ctp1で致命的エラーでインストールできませんでした。

              再度VISUAL STUDIO 2017 EXPRESS for DESKTOPを再インストールしていますが現在手に入る環境でサンプルのビルドは可能でしょうか?

               

              #1310
              soushi.maki
              Participant

                VISUAL STUDIO 2017 EXPRESS for DESKTOPでエラー出てました。

                重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
                エラー コマンド “”C:\Program Files (x86)\Windows Kits\8.1\bin\x86\mt.exe” -manifest C:\Users\m-note-a5750\source\repos\ICAPI\Samples\C#\MyFirstAddin\MyFirstAddin.dll.manifest -outputresource:MyFirstAddin.dll;2
                “C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\sn.exe” -R MyFirstAddin.dll “C:\Users\m-note-a5750\source\repos\ICAPI\Samples\C#\MyFirstAddin\ICApiAddin.snk”
                ” はコード 9009 で終了しました。 MyFirstAddin

                エラー出ててもMyFirstAddin.dllってできるんですね。

                • This reply was modified 2 years, 6 months ago by soushi.maki.
                #1312
                yokomichi
                Keymaster

                  solutionの設定はdebug|x64で正しいです。(IRONCADは64bitのdllしか読み込めなかったと思います。)

                  コマンドプロンプトがx64用でなくx86用で実行していないでしょうか?
                  (私の環境でx64用(左)/x86用(右)コマンドプロンプトの実行結果だとsoushi.makiさんと同じようなエラーになります。)

                  もう一つの重大度レベルのエラーはプロジェクトのビルド後の設定を以下のように書き換えてみてください。
                  (10.0.22000.0は環境によって変わりますのでC:\Program Files (x86)\Windows Kits\10\binの中を見てパスを変更してみてください)

                  “C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\mt.exe” -managedassemblyname:$(TargetFileName) -nodependency -out:$(TargetFileName).manifest
                  “C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\mt.exe” -manifest $(TargetFileName).manifest -outputresource:$(TargetFileName);2
                  “C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\sn.exe” -R $(TargetFileName) “$(SolutionDir)ICApiAddin.snk”

                  #1313
                  soushi.maki
                  Participant

                    ご指導ありがとうございます。

                    エラーは

                    “C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mt.exe” -managedassemblyname:$(TargetFileName) -nodependency -out:$(TargetFileName).manifest
                    “C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mt.exe” -manifest $(TargetFileName).manifest -outputresource:$(TargetFileName);2
                    “C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\sn.exe” -R $(TargetFileName) “$(SolutionDir)ICApiAddin.snk”

                    書き直したらエラー番号が変わりました。

                    エラー
                    ““C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mt.exe” -managedassemblyname:MyFirstAddin.dll -nodependency -out:MyFirstAddin.dll.manifest
                    “C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mt.exe” -manifest MyFirstAddin.dll.manifest -outputresource:MyFirstAddin.dll;2
                    “C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\sn.exe” -R MyFirstAddin.dll “C:\Users\m-note-a5750\Documents\Visual Studio 2017\Projects\icapi\MyFirstAddin\ICApiAddin.snk””
                    はコード 123 で終了しました。

                     

                    もう一点 regasm MyFirstAddin.dll のほうは

                    VS2017用x64 Native toolコマンド

                    VS2017用X64_X86 Crossコマンド

                    VS2017用X86_X64 Crossコマンド

                    x86 Native Tools Command Prompt

                    の全てを試してみたのですが残念ながら全て

                    「有効な .NET アセンブリではないため、読み込めませんでした。」

                    となってしまいました。

                     

                    Yokomichiさんのコマンド画面をみてVisual Studio2022

                    だったのでMicrosoft Visual Studio Community 2022 (64 ビット) – Current Version 17.7.0

                    を入れてみたのですが現時点でVs2017Expと同じ状況です。

                     

                     

                    #1314
                    yokomichi
                    Keymaster

                      soushi.makiさんとほぼ同じ環境で試してみました。
                      プロジェクトファイル一式を添付します。こちらで試してみてください。
                      (ビルド後のイベントのダブルクォーテーションが怪しい気がします。)

                       

                      regasmはvs2017だとパスが通っていないせいか直接Regasm.exeを指定しないといけないようでした。
                      Regasm.exeもx86用とx64用があり、添付ファイルのコマンドプロンプトの画像のようなパスのRegasm.exeを使用しています。
                      (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe)

                      作成したIroncad.Addin.configも入れています。IronCADのConfigフォルダ内に上書きしてください。

                      お手数おかけしますが、うまくいくことを祈っています。

                      • This reply was modified 2 years, 6 months ago by yokomichi.
                      #1318
                      soushi.maki
                      Participant

                        yokomichiさん

                        色々ありがとうございました。

                        なんとか動作確認できました。

                        頂いたMyFirstAddin2017をビルドして

                        VS2017用 x64NativeTools コマンドプロンプトを管理者で起動
                        cd C:\Program Files\IronCAD\2021\bin
                        C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm MyFirstAddin.dll

                        ビルド後のエラーはエラー番号は1に変わりました。

                        “C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mt.exe” -managedassemblyname:MyFirstAddin.dll -nodependency -out:MyFirstAddin.dll.manifest
                        “C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mt.exe” -manifest MyFirstAddin.dll.manifest -outputresource:MyFirstAddin.dll;2
                        “C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\sn.exe” -R MyFirstAddin.dll C:\Users\m-note-a5750\Documents\Visual Studio 2017\Projects\icapi\MyFirstAddin2017\MyFirstAddin\ICApiAddin.snk”

                        はコード 1 で終了しました。

                        ビルド後の”MT.EXE、SN.EXE”はMyFirstAddin.dllに変更を及ぼすわけではない感じですか?

                         

                        IRONCADを起動したところ

                        MyFirstAddinの画面も正常に動作している感じです。

                        ありがとうございました。

                        ちなみに上記画面のxyz(直線軸)AB(回転軸)をアドイン経由で動かそうと考えています。

                        作りたいアドインとしては単独のアプリから環境変数に

                        ICMOVE(X)=PL,PW,PH,BL,BW,BH,BA

                        ICMOVE(Y)=PL,PW,PH,BL,BW,BH,BA

                        ICMOVE(Z)=PL,PW,PH,BL,BW,BH,BA

                        ICMOVE(A)=PL,PW,PH,BL,BW,BH,BA

                        ICMOVE(B)=PL,PW,PH,BL,BW,BH,BA

                        ICMOVE=5

                        を設定するとアドインが対応するシーンのプロパティ値を設定しICMOVE=0をかえす

                        位置のほうがP*で向きの方がb*で考えています。

                        最後に覚え書きです。

                        Visualstudio2017EXPRESS for Desktopのインストールはネットから適当なバージョンのVisualStudioSetup.exeをググってきて

                        VisualStudioSetup.exe –channelUri https://aka.ms/vs/15/release/channel –productId Microsoft.VisualStudio.Product.WDExpress

                        でインストールしました。

                         

                        #1323
                        soushi.maki
                        Participant

                          送信しても反映されなかったので3回ほど同じような文面で送ってしまいました。

                          #1321
                          soushi.maki
                          Participant

                            yokomichiさん  色々ありがとうございました。最終的にエラーは無くなりませんでしたが無事IRONCADでの起動が確認できました。現在エラーはコード1となっています。

                            sn.exeとmt.exeはMyFirstAddin.dllの変更をしていない感じですか?

                            とりあえずこんな感じになりました。

                            今度はhttps://ironcad.fun/download/ironcad-addin-sample-cs/をみようと思っています。

                             

                             

                            #1334
                            yokomichi
                            Keymaster

                              こちらのサイトの管理画面で見たところ保留になっていたので
                              勝手に公開にしたのも影響するかもしれません。すみません。
                              無事に動いたようでよかったです。

                              >ビルド後のコマンド(mt.exe、SN.EXE)はMyFirstAddin.dll本体に変更を加えているわけでは無い感じですか?

                              .dllに変更を加えているのですが、環境によって必要な場合と必要でない場合があります。(私の環境ではこれがないと動かないです)
                              soushi.makiさんの環境では必要ないのかもしれません。

                              • This reply was modified 2 years, 6 months ago by yokomichi.
                              #1336
                              soushi.maki
                              Participant

                                IRONCAD_ICAPI_SAMPLE_CS.slnを

                                VS2017EXPで開いてみたところ

                                icAPI_CppWrappere_CS(非互換)

                                icAPI_Sample_CS_Setup(非互換)

                                 

                                VS2022Commで開いてみたところ

                                icAPI_Sample_CS_Setup(非互換)

                                で開くことができませんでした。

                                 

                                やっぱりVS2015Commのインストールが必須でしょうか?

                                前回「Team Explorer for Microsoft Visual Studio 2015のインストール中に致命的なエラーが発生」で断念しましたがWindows10 1909あたりから始めようかと考えています。

                                 

                                 

                                #1337
                                yokomichi
                                Keymaster

                                  VisualStudio2022 (2017も同様) で開く場合は2015のようにinstallerProjectをインストールする必要があります。
                                  VisualStudioのメニュー [拡張機能] – [拡張機能の管理]からオンラインを開き、Installerと検索窓に打ち込むと
                                  Microsoft Visual Studio Installer Project 2022が出てきますのでインストールしてみてください。
                                  (icAPI_Sample_CS_Setup(非互換)は解消すると思います。)
                                  https://ironcad.fun/download/ms_vs2015_community_install/ms_vs2015_community_install_package1/

                                  インストールしビルドするとエラーするかと思います。

                                  こちらはicAPI_Sample_CS_SetupからUxTheme.dllを除外するとエラーが解消します。

                                  宜しくお願いいたします。

                                Viewing 15 posts - 1 through 15 (of 40 total)
                                • You must be logged in to reply to this topic.