2020年10月30日金曜日

バッチファイルでビルドする

Visual Studio 2015 を使っている人なら、アプリケーションメニューの中に「VS2015用 MSBuild のコマンドプロンプト」というショートカットがあって、それを使うと MSBuild というツールでコマンドウィンドウを使ったプロジェクトやソリューションのビルドが可能である。

ということは、これを使ってバッチファイルを作ることもできるはず。

こんな風になりました。


@ECHO ON

CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsMSBuildCmd.bat"

cd C:\Dev\SomeSolution

MSBUILD /t:Clean /p:Configuration=Release;Platform=Win32 SomeSolution.sln

MSBUILD /t:Clean /p:Configuration=Release;Platform=x64 SomeSolution.sln

MSBUILD /t:Build /p:Configuration=Release;Platform=Win32 SomeSolution.sln

MSBUILD /t:Build /p:Configuration=Release;Platform=x64 SomeSolution.sln


/t:Clean のところは、/t:Rebuild でも /t:Clean;Build でも構わない。

slnファイルを指定するか、プロジェクトファイルを使用するかはお好みで。

今だと AZure で自動ビルドさせちゃうとかもあるんでしょうけど、ちまちまやるならこういうのもありかと思います。



2020年10月27日火曜日

DIMSTYLE 寸法スタイルの説明がないコード

 AutoCAD 2021 の DXFリファレンスの DIMSTYLE の説明

http://help.autodesk.com/view/OARX/2021/JPN/?guid=GUID-F2FAD36F-0CE3-4943-9DAD-A9BCD2AE81DA

にないものを以下に列挙します。


49 DIMFXL[寸法補助線長さ] 長さを指定

50 DIMJOGANG[半径寸法線折り曲げ角度] 角度をラジアンで指定

69 DIMTFILL[寸法値背景] 0=いいえ 1=透過 2=色指定

70 DIMTFILLCLR[寸法値背景色] ACIで指定

290 DIMFXLON[寸法補助線長さ固定] 0=いいえ 1=はい

294 DIMTXTDIRECTION[寸法値方向] 0=左から右 1=右から左

295 DIMALTMZF [併記サブ単位係数]  実は使えない?

296 DIMALTMZS [併記サブ単位接尾表記] 実は使えない?

297 DIMMZF [サブ単位係数] サブ単位の係数を指定 (既定値 100)

298 DIMMZS [サブ単位接尾表記] "cm"などサブ単位を明示するために単位を記す

345 DIMLTYPE[寸法線線種] (参照されている LTYPE のハンドル)

346 DIMLTEX1[補助線1線種] (参照されている LTYPE のハンドル)

347 DIMLTEX2[補助線2線種] (参照されている LTYPE のハンドル)

以下はDIMSTYLEの拡張データとして保存される
388 DIMJAG[折り曲げ高さ係数] ACAD_DSTYLE_DIMJAG 既定値 1.5

392 DIMTALN[文字位置合わせ] ACAD_DSTYLE_DIMTALN (0/1) 既定値 0 

折り曲げ半径寸法の拡張データ ACAD_DSTYLE_DIMRADIAL_EXTENSION の追加データ
387   EXTARC [円弧の延長] 1=あり 3=なし 寸法補助線 あり/なし で切り替え
388   STARTANG [開始角度] 0.0 
390   ENDANG [終了角度] 0.0

2020年10月26日月曜日

ACBファイルの色値を調べる

 ACBファイル (Autodesk Color Book) はXMLファイルで、色のデータベースである。AutoCADに添付されているACBファイルの色値は暗号化されていてそのままでは確認できない。COLORダイアログで調べるのも億劫である。

下記のコードは、ダイアログボックスからACBファイルを指定すると、そのカラーブック名と色名、色値をコマンドウィンドウに表示する。


using Autodesk.AutoCAD.ApplicationServices;

using Autodesk.AutoCAD.Colors;

using Autodesk.AutoCAD.EditorInput;

using Autodesk.AutoCAD.Runtime;

using System.Xml;


namespace csSample1

{

    public class Class1

    {

        /// <summary>

        /// ACBVIEWERコマンド

        /// </summary>

        [CommandMethod("ACBVIEWER")]

        public void cmdAcbViewer()

        {

            // Specify ACB file

            Document doc = Application.DocumentManager.MdiActiveDocument;

            Editor ed = doc.Editor;

            PromptOpenFileOptions options = new PromptOpenFileOptions("Specify color book file");

            options.Filter = "Color book file(*.acb)|*.acb|All file(*.*)|*.*";

            options.FilterIndex = 0;

            PromptFileNameResult result = ed.GetFileNameForOpen(options);

            if (result.Status != PromptStatus.OK)

                return;

            // Print book name in ACB file

            Color color = doc.Database.Cecolor;

            string bookName = "";

            string colorName = "";

            XmlDocument xdoc = new XmlDocument();

            xdoc.Load(result.StringResult);

            foreach(XmlElement elem in xdoc.GetElementsByTagName("bookName"))

            {

                bookName = elem.InnerText;

                ed.WriteMessage("\nBookName = {0}", bookName);

            }

            // Print all color name and value in ACB file

            foreach (XmlElement elem2 in xdoc.GetElementsByTagName("colorName"))

            {

                colorName = elem2.InnerText;

                color = Color.FromNames(colorName, bookName);

                ed.WriteMessage("\nColorName = {0} RGB=({1},{2},{3})", colorName, color.Red, color.Green, color.Blue);

            }

        }

    }

}


2020年10月17日土曜日

(Windows 10) アプリをアンインストールしたのにアプリと機能から消えない

 Windows 10 でアプリケーションをアンインストールをしたのに設定の「アプリと機能」からアプリケーションの名前が残り続けている。そんな場合にはこんな方法があります。


Microsoft から提供されている Fix It を使う。

https://support.microsoft.com/ja-jp/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed

レジストリを自分で直す

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall のキーのどこかにそいつはいる。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall のキーのどこかにいるばあいもある。

コントロールパネルの「プログラムと機能」を使う。

これはMSIインストーラーの呼び出しに失敗したりしたときに、アンインストールは失敗したけど、リストからアプリケーションを消してもいいですか?って聞いてくれるので、「はい」を選んで削除することができる。

Windows 10でコントロールパネルは隠されているのですが、呼び出す方法は、Windowsボタンを押してメニューを表示させたところで「Control Panel」の先頭から何文字かを入力すると、「コントロールパネル」を開くことができるようになるのでやってみてください。






異尺度注釈図形にアタッチされている尺度を知る

 異尺度注釈図形が持っている尺度(文字列)を表示する ;;; ;;; LISTANNOSCALE.LSP ;;; (defun C:LISTANNOSCALE ( / el id f)   (setq f T)   ;異尺度注釈図形を選択   (if (setq el (entg...