# PreCad for Windows

## PreCadについて

- PreCadは、マルチページ対応の2DCADです。
- dxf, jww, jwc, sfc, lcd, skc, pdf, svg, hpglなど多くのファイル形式に対応しています（一部は読み込みのみ）。
- Jw_cadの線記号変形が使えます。
- Jw_cadの図形ファイル(*.jws)をパーツとして使用できます。
- Androidバージョンもあります（ただし、ソースコードも開発言語も違うので別物です）
- カンパウェアです。開発支援をお願いします。

## 動作環境

- Windows10, Windows11

## インストール

1. zipファイルを解凍し、`PreCad_Setup.exe`を実行してください。
2. 実行時に「WindowsによってPCが保護されました」と言う画面が出ます。その画面の「詳細情報」をクリックすると「実行」ボタンがあらわれます。「実行」ボタンを押すとインストールプログラムが実行されます。
3. インストーラは、以下のファイルを自動的に取得してインストールします。インターネットに接続できない環境でインストールする場合、あらかじめこれらのファイルをダウンロードして実行してください。

- Microsoft Visual C++ 再頒布可能パッケージ(64bit)
  https://aka.ms/vs/17/release/vc_redist.x64.exe

- .NET デスクトップ ランタイム 6.0.6(64bit)
  https://download.visualstudio.microsoft.com/download/pr/9d6b6b34-44b5-4cf4-b924-79a00deb9795/2f17c30bdf42b6a8950a8552438cf8c1/windowsdesktop-runtime-6.0.6-win-x64.exe

## 使用法

- ヘルプのマニュアルを参照してください。最新のオンラインマニュアルは以下の場所にあります。
  https://junkbulk.com/windows/precad/manual/ja/PreCAD_windows_manual.html

## 連絡先等

- Mail : ai@junkbulk.com
- Web : https://junkbulk.com/windows/precad/index.html
- 開発支援 : https://junkbulk.com/windows/precad/donate_ja.html
- Copyright(c) Junkbulk (Jinki-Keikaku) 2024-2025

## 使用条件

- 当ソフトウェアはカンパウェアです。無料で使うことができますが、もしよろしければ開発支援をお願いします。
- 当ソフトウェアの使用によって何らかの障害が発生した場合でも、作者は一切の責任を負わないものとします。自己責任でご利用ください。
- 作者は当ソフトウェアのバグ修正、バージョンアップ等の一切のサポートの責は負いません。
- 当ソフトウェア及びその同梱物の改変を禁止します。

## その他

### Wine上での動作について

#### 注意

- 以下に記す手順は、私が試行錯誤した記録であり、動作を保証するものではありません。
- gdiplus.dllをネイティブ版に変更するため、他のソフトに影響があると思われます。その時は、gdiplus.dllを内蔵版に戻してください。
- 描画に日本語を使わないのであれば、フォントについては何もしなくていいと思います。

#### 手順

Ubuntu 22.04とWine9.0で起動を確認しました。

- Winetricksでcjk fontsをインストール（インストーラの文字化け対策。英語環境なら必要ないかも）
- Winetricksでie8をインストール（一部機能が使えないため。必須では無い）
- 以下のコマンドでレジストリを変更
  `wine reg.exe ADD "HKEY_CURRENT_USER\Software\Wine\X11 Driver" "/v" "UseXVidMode" "/t" "REG_SZ" "/d" "N"`

これでひとまずインストールできました。
ただし、PreCadを起動して、線を描いて画面を拡大すると、線幅がおかしいことに気付きます。
そこで、WinetricksでRun winconfigを選んでその中のライブラリからgdiplusを追加します。そうすると線幅が正常になります。
しかし、gdiplusのネイティブ版ではちゃんと日本語フォントを指定しないと日本語が文字化けします（このインストーラも日本語が文字化けします。Windowsでは代替フォントで表示されるので文字化けしません。gdiplusの内蔵版も文字化けしないようです。レジストリのFontLinkなどを編集する必要があると思いますが、それは大変そうです）。
日本語フォントが少なければ、`winetricks allfonts`を実行しインストールします（当然、全てではなく日本語フォントだけ選んでインストールしてもいいです）。
ところが、PreCadはファイルにフォントを埋め込まないので、開いた図面にインストールされていないフォントが使われていた場合、問題になります。Windowsでは代替フォントが設定されているので文字が読めますが、Wineでは文字化けします。その対策として、PreCadのオプションで代替フォントを指定してください。これで読めるようになります。

## 履歴

- 2025/04/20 ver. 1.6.3.0

  - 2線に接する円のアルゴリズムを変更しました。
  - 座標ツールで描画中の色などの属性変更と選択レイヤ変更に対応しました。
  - 座標ファイルの色などの初期値を現在の選択色に変更しました。
  - 画像などを貼り付ける時の優先順序を変更しました（例えば、EMFよりPNGを優先するようにしました）。

- 2025/04/13 ver. 1.6.2.0

  - 描画中、ドラッグしながら画面外に出るとスクロールするようにしました。
  - 座標ファイルに円などの図形コマンドを追加しました。コマンドは、https://junkbulk.com/windows/precad/download/PrecoFormat.html 参照。
  - アップデートの確認をメニューから出来るようにしました。

- 2025/03/27 ver. 1.6.1.0

  - 印刷ダイアログを修正しました。
  - マーカー図形のドットのズーム倍率で大きさを変更しないオプションを追加しました。
  - マーカー図形のハンドルを1点だけに変更しました。
  - マーカー図形のダブルクリックでスタイルダイアログが表示されるようにしました。
  - 選択ツールのサイズ変更オプションなどでマーカー図形も文字と同じように大きさが変わるようにしました。

- 2025/03/19 ver. 1.6.0.0

  - Jw_cad外部変形ツール（実験中）を追加しました。図形の選択方法やレイヤの構成などJw_cadと違いますが、単純なものは動くと思います。
  - 編集メニューにコピーと貼り付けの設定を追加しました。
  - マウス左ボタンドラッグで、カーソルが画面外に出ると画面スクロールするようにしました。
  - 右ボタンメニューから2点間の距離と角度をクリップボードにコピー出来るようにしました。
  - スクリプトツールで、ファイル読み込み後に先頭項目を選択するようにしました。
  - スクリプトツールで、選択項目がない時に画面クリックするとエラー音が鳴るようにしました。

- 2025/02/03 ver. 1.5.0.0

  - 文字図形の文字枠での折り返しを実装しました。
  - 文字図形に文字枠モード（自動、幅のみ可変、幅と高さ可変）を追加しました。普段は「自動」でいいと思います。
  - 文字のスタイルに枠線、均等配置、両端揃えを追加しました。
  - 円・円弧を選択時に中心点を表示するように変更しました。
  - 線切断ツールの矩形選択をマウスドラッグから２点を指示する方法に変更しました。
  - カラーボタンのツールチップにカラーコードを表示するようにしました。
  - レイヤのスタイル表示ボタンにツールチップを表示するようにしました。
  - PNG保存にアンチエイリアスオプションを追加しました。
  - 文字図形の表示手法を変えました。
  - カーソル位置の色の取得機能を修正しました。
  - メニューの線スタイル、文字スタイルの表示を修正しました。
  - 点の角度が保存されていなかったので修正しました。
  - 弧長寸法が縮尺に対応していなかったので修正しました。
  - 最近のファイルに開くことのできないタイプのファイルを追加しないようにしました。

- 2024/12/16 ver. 1.4.4.0

  - 文字図形の配置に問題があったので修正しました。
  - スナップした図形のスタイル取得方法を変更しました。

- 2024/12/04 ver. 1.4.3.0

  - スナップした線の長さなどをクリップボードにコピーできるようにした。
  - スナップした図形の線スタイルや文字スタイルを取得できるようにした。
  - 電卓でコピーと貼り付けに対応。
  - 設定とオプションダイアログをタブ切替に変更。
  - jww読込で、円環ソリッドの同一幅と円環ソリッドに対応。
  - jww保存の文字位置修正。
  - jww保存のビットマップサイズ修正。
  - jww保存で、ポリラインの線色が透明の時は出力しないように変更。
  - emf読込で、PolylineToの処理修正。
  - emf読込で、ExtTextOutWの処理修正。

- 2024/11/02 ver. 1.4.2.0

  - ビットマップを高速に表示するオプションを追加しました。
  - 背景画像を高速に表示するオプションを追加しました。
  - 他のレイヤ非表示で他のシートグレー表示の場合、非表示レイヤーがグレー表示されたので修正しました。
  - 一本の水平・垂直線がビットマップとしてコピー出来なかったので修正しました。
  - ビットマップを選択すると表示がわずかにずれていたので修正しました。
  - 画面描画方法を見直し、メモリ消費量と速度を改善しました。
  - コマンド処理をメモリ消費量が減少するように変更しました。

- 2024/10/29 ver. 1.4.1.0

  - DXF保存にLTSCALEの設定を追加。
  - コピーと貼り付けのプラグインの仕様を変更。
  - クリップボードから文字列の貼り付けに対応。
  - 文字図形などの文字をクリップボードへコピー可能としました。
  - 図形をビットマップとしてコピーする時の解像度を変更できるようにしました。
  - 文字図形を他形式に保存する時、背景が閉じたポリラインになるように修正。
  - コピーでビットマップが正常にクリップボードに保存できていなかったので修正。

- 2024/10/29 ver. 1.4.1.0

  - DXF保存にLTSCALEの設定を追加。
  - コピーと貼り付けのプラグインの仕様を変更。
  - クリップボードから文字列の貼り付けに対応。
  - 文字図形などの文字をクリップボードへコピー可能としました。
  - 図形をビットマップとしてコピーする時の解像度を変更できるようにしました。
  - 文字図形を他形式に保存する時、背景が閉じたポリラインになるように修正。
  - コピーでビットマップが正常にクリップボードに保存できていなかったので修正。

- 2024/10/20 ver. 1.4.0.0

  - 線種追加。線種のパターンは、SFCを参考にしました。
  - 線種に線種名を表示するようにしました。
  - 破線をAPIを使わずに描画するようにしました。
  - ズームアウト時に破線が見えるようにするオプションを追加しました。
  - 面取りツールに辺の長さを指定するオプションを追加しました。
  - WindowsのEMFファイルに対応しました。
  - コピーと貼り付けをプラグイン化し、SVGとEMFもコピーと貼り付けができるようになりました。
  - ファイルフォーマットバージョンを2.5.0から2.6.0に更新しました。古いアプリでは追加された線種は実線になります。
  - SVG保存でフォント名の書き忘れがあったので修正しました。
  - 他形式に保存する時、文字図形の背景色が保存可能ならするように変更しました。
  - 文字図形の文字に傾斜がある場合の表示位置に問題があったので修正しました。

- 2024/9/01 ver. 1.3.1.0

  - 線の寸法ツールで、円弧に対応し、楕円を対象外としました。
  - 楕円（2点）のバグを修正しました。

- 2024/8/28 ver. 1.3.0.0

  - 弧長寸法図形追加しました。
  - フィレットツールで図形を選択できなかった時のメッセージが誤っていたので修正しました。
  - ファイル読み込み時にマイナ―バージョンのチェックで警告メッセージを出すように変更しました。

- 2024/8/20 ver. 1.2.3.0

  - 線整理ツールを追加しました。
  - 編集禁止レイヤでもスナップは可能としました。
  - 円弧図形と角度寸法図形のバグの修正と仕様の変更を行いました。
  - 3点円弧ツールと3点角度ツールで、Ctrlキーを押すことで向きを変更できるようにしました。
  - ハッチングツールで、Ctrlキーを押すことで連続線選択モードに移行するように変更しました。

- 2024/8/05 ver. 1.2.2.1

  - オブジェクトに合わせてズームの選択図形に合わせてズームのバグ修正。

- 2024/8/05 ver. 1.2.2.0

  - 選択ツールでスナップされた図形が上手く選択されない時があったので修正。
  - オブジェクトに合わせてズームを選択図形に合わせてズームするように変更。

- 2024/7/28 ver. 1.2.1.1

  - 起動時にツールバーの線色などが正常に表示されていなかったので修正。

- 2024/7/28 ver. 1.2.1.0

  - 線消去ツールのバグ修正。
  - 選択ツールの選択解除タイミング変更。

- 2024/7/21 ver. 1.2.0.0

  - 線消去ツールと線延長ツールで交差選択モードを追加しました。
  - 背景画像の配置方法を選択できるようにしました。
  - ワイヤリングツール追加。
  - 文字列検索ダイアログをモードレス化しました。
  - ３点円と３点円弧で解がない場合の処理を変更。

- 2024/6/26 ver. 1.1.1.3

  - 線消去ツールで全てのレイヤを交点検索対象とするように変更しました。
  - jwwファイル読み込みで、古い形式（ファイルバージョン2.2.3以降）を読み込めるように変更しました。

- 2024/6/21 ver. 1.1.1.2

  - 3つの円に接する円と、線と２つの円に接する円にバグがあったので修正しました。

- 2024/5/20 ver. 1.1.1.1

  - メインメニューお気に入りツールと最近のツールが使えなかったので修正。
  - グループ図形内の交点にスナップできるように変更。
  - マニュアル更新。

- 2024/5/17 ver. 1.1.1.0

  - フリーハンドツールが落ちたので修正。
  - ツールにもショートカットを設定できるように変更。

- 2024/5/10 ver. 1.1.0.2

  - グリッド原点設定ボタンが機能しなかったので修正。
  - 保存完了時、画面上にメッセージを表示するように変更。

- 2024/5/08 ver. 1.1.0.1

  - シート非表示時に見えない図形にスナップができてしまう問題の修正。

- 2024/5/07 ver. 1.1.0.0

  - キーボードショートカットを登録できるようにしました（キーボードショートカットの副作用で、以前のバージョンで登録したお気に入りツールがいったんクリアされます）。
  - 非表示のレイヤ・シートを選択中でも表示しないように変更。
  - 図形表示範囲のズーム追加。
  - 数値入力エリアでスペースキーを押すことで計算機を開くように変更。
  - 計算機のボタンをキーボードのテンキーからクリックできるように変更。ただし、±はTABキー。イコールはエンターで、再度エンターを押すとOKになります。
  - 寸法線ツールの水平垂直モードでCTRLキーで向きを変更できるように変更。
  - SVG保存で破線に対応。
  - ファイル読み込み後にレイヤ色などを変えてもすぐに反映されなかったので修正。
  - 日本語マニュアルが開けなかったので修正。ただし、マニュアルの内容は古いままです。ツールチップは更新してるのでそちらを参照してください。

- 2024/4/23 ver. 1.0.6.2

  - 小数点がコンマの地域で正常にファイルが保存できなかったので修正。
  - ファイル保存読み込みプラグインに使うオブジェクトを使いまわすように変更。
  - SVG保存にViewBox取得ボタン追加。

- 2024/4/21 ver. 1.0.6.1

  - スナップ一時停止追加
  - スナップ有効半径を設定できるように変更。
  - スナップアルゴリズム変更。
  - SVG保存でレイヤとシートをグループで出力するオプションを追加。
  - ポリラインの線分化で矢印の変換に問題があったので修正。
  - 円への接線に問題があたので修正。
  - ベジェとスプラインの近接点に問題があったので修正。

- 2024/4/14 ver. 1.0.5.0

  - 線接続チェクツール追加。
  - 線上文字ツールのオプションに「線の下」を追加。
  - レイヤとシートの複製対応。
  - ページ複製をメニューに追加。
  - レイヤとシートのUNDOアルゴリズム変更。
  - ベジェ曲線の直線部分のオフセットアルゴリズム変更。
  - パス図形オフセット対応。
  - パス図形をグループ解除するとベジェ曲線に分解するようにした。
  - ステータスバーにある各種設定ポップアップが使用できなかったので修正。
  - スプラインのポリライン化のバグ修正。
  - 線選択時の表示線幅を修正。
  - ツールチップなどの文字列追加。
  - グリッド分割の初期値を1に変更。
  - レイヤ、シート、ページ追加・削除時に、ドキュメントコントロールのタブが切り替わるようにした。

- 2024/4/07 ver. 1.0.4.1

  - 解像度によって線が汚い場合があったので修正。
  - ベジェ曲線のオフセットアルゴリズム変更。
  - ベジェ曲線同士の交点の計算速度改善。
  - 線の寸法ツールで楕円を選択したときの引出線の向きがおかしかったので修正。
  - お気に入りツール、最近使ったツールを追加。
  - カーソルの座標表示の文字サイズを変更可能とした。

- 2024/3/20 ver. 1.0.3.0

  - オフセットツールでベジェ曲線、スプライン曲線に対応。
  - オフセットツールで楕円のオプションに扁平率維持とベジェ曲線に変換を追加。
  - ポリラインのオフセットアルゴリズム変更。
  - 線切断ツールでベジェ曲線スプライン曲線に対応。
  - 線切断ツールにクリッピング機能を追加。
  - PNG保存及びPNGでクリップボードにコピーすると、文字が汚くなっていたので修正。
  - DIBで貼り付け対応。
  - プラグインのjaフォルダに不要なファイルがコピーされていたので削除。

- 2024/2/18 ver. 1.0.2.0

  - 2線に接する楕円ツール追加。
  - 選択ツールにせん断オプション追加。
  - 文字傾斜で、文字のみ傾斜するフラグ追加。
  - 補助線色を変更できるようにしました。
  - 破線のピッチを変更できるようにしました。
  - マーカーの点（ドット）は画面倍率によらず一定でしたが通常のマーカーのように画面倍率に追随するよにしました。
  - ページリストにページ番号を表示するようにしました。
  - DXF保存でレイヤ名に非ASCII文字が含まれていた場合に文字を変換するオプションを追加しました。
  - 袋文字ツールで文字幅と傾斜角を有効にしました（文字間隔は使えません）。
  - リストからページ名を変更してもステータスバーのページ名が変わらなかったので修正しました。
  - 設定ダイアログ項目のいくつかを表示メニューなどに移動しました。
  - メニューからスナップ設定が変更できなかったので修正しました。
  - SakraCadとLilliCadの読み込みでビットマップが正常に読み込めなかったので修正。

- 2024/1/27 ver. 1.0.1.0

  - 公開開始

≡