AFsoft World

AF日記。 コンピュータ・CAD・漫画・アニメ・ゲーム・スポーツ等についてのたわいもない話、などなど。

プログラミング

[Pcata] Ver.10用外部変形にて(2)

Pcataサイトにて公開している
Jw_cad Ver.10 用の外部変形で
半角カナ文字が扱えないというバグがあり
シェアウェアのものを修正してアップロードしました
(p100〜p105)
 
※従来の 〜Ver.8.25a用のものは問題ありません

[Pcata] Ver.10用外部変形にて

Pcataサイトにて公開している
Jw_cad Ver.10 用の外部変形で
半角カナ文字が扱えないというバグがあり
フリーのものは修正してアップロードしました
 
シェアウェアの方はまだ作業出来ていませんが
順次 修正していきます

※従来の 〜Ver.8.25a用のものは問題ありません

ODA FileConverter 26.10.0

久しぶりに ODAサイトに行ってみると
「ODA File Converter」のバージョンが
26.10.0 になっていましたので
ダウンロードしてインストールしました
https://www.opendesign.com/guestfiles/oda_file_converter

当方の「AFjww2dxf」「AFdxf2jww」では
この「ODA File Converter」を起動して DXF〜DWG変換を行うようになっていますので、インストールした場所(フォルダ)を変更した場合は、[参照]ボタンを押して再設定する必要はありますが、軽く動作チェックしましたが別段問題無さそうです


[JWW] 自動保存フォルダ

外部変形を作っていて、気付いた事

自動保存フォルダの場所ですが
Jw_win.jwf で AutoSaveDir 指示をしている場合には
当然そのフォルダになりますが、
これをしていない場合や、Jw_win.jwf を作成していない場合は
図面ファイルを開いた場合はそのフォルダとなりますが

新規状態の場合は JWWフォルダになる・・・
と思っていましたが、外部変形を実行しっぱなしにしていると、自動保存フォルダは、その外部変形(バッチファイル)のあるフォルダになる様子ですね

となれば、色んな外部変形を利用してると、自動保存ファイルはあっちこっちに行ってしまう可能性があるので、やはり Jw_win.jwf で AutoSaveDir 指示をしないと管理しにくいですね

[メール] Re:JW10対応ソフトDLについて

先程、メールが届きました
内容は
当方業務にて図面作図しAFsoft様の「PaperSepa」を
多用しております。
当方にとっては無くてはならない外変です。
今後Ver8.25aで運用出来なくなった場合は何卒
DL出来る様お願い致します。
当方のソフトウェアを御利用頂き誠に有難うございます。

以前にも同様のメールがありましたが
https://afsoft.livedoor.blog/archives/52336713.html
先に書きましたように
https://afsoft.livedoor.blog/archives/52336304.html
この批判をされた方が発言の謝罪・撤回・追加発言をされない限り、プログラミングは行いますがダウンロードは出来ないまま、と思っています

という事で同上です。

Jw_cad Ver.10対応プログラム

先程、メールが届きました
内容は
Jw_cad Ver.10 対応 Delphiプログラム(フリーウェア)のリンクの件

最近、標記のjw_cad関連のプログラムを多く公開されていますから、楽しみにしています。ところで、紹介ページやダウンロードのリンクが違うようで開けません。(ダウンロードできません。)
との事です

先に書きましたように
https://afsoft.livedoor.blog/archives/52336304.html
この批判をされた方が発言の謝罪・撤回・追加発言をされない限り、プログラミングは行いますがダウンロードは出来ないまま、と思っています(先の発言で、プログラミングしないとか書いてますが、それだと何も進みませんので、思索試行プログラミングは行っています)

ま、シェアウェアが売れないと生活出来ないんで
シェアウェアを作るな=死ね と言われてるような
ものですから、ちょっとは抗うつもりですw

クリップボードにて

Jw_cad にてコピペをする際
なぜこんなに図形範囲がずれるんだ?
と思ったら・・・

あら、こんな所に
一時設定文字が・・・
前にチェックしたような気がするんだけど
・・・ま、いいか

今日も暑さで断念

今日も 行けたら釣りに行こうかな?
とか思ってましたが、いやぁ〜w

朝4時15分に暑くて目が覚めて
起き上がって水分補給をしつつ
う〜ん 15分オーバーかぁ〜
まだ眠いし、うん、寝ようw

という訳で今日も釣りに行かずw
先週も こんな事ばっかりだったけど
今週も そんな事ばっかりになるかもしれないw

で・・・
朝8時前に起きて、水やりしたあと
朝の運動をしてネット見て、という
いつもと同じシークエンス
プログラミングの修正の続きをしてるんですが
いやぁ〜
Jw_cad の 埋め込み文字うんたらかんたら
なんかもうマジで ヘルプ仕様外の事が多すぎて
滅茶苦茶 腹が立つwww
例えば
&fs1〜9 だけど
Jw_cad では、&fs10〜&fs99999 まで反応する
はぁ!??
そんなもん、反応せず、そのまんま表示しろや!!!
$J1〜9 も同じく
Jw_cad では、$J10〜&J999999 まで反応する
はぁぁぁあああ!!??
そんなもん、反応すんな!!!
そして
=gGE とか =gGEE とか
・・・同上・・・www

あー もー どうでもいい 知らん・・・

ひょっとしてヘルプに記載されていない隠しコマンドがあるんじゃなかろうか?
と疑ってしまう
ユーザーなら それを探す楽しみとか
ウケで楽しめるんだろうけれども
ツールを作成する側としては、ヘルプ仕様外の事をされると ほんと 洒落にならない
うん
ヘルプに書かれてないんだから、もう、知らんwww

プログラマには、そゆ、一般ユーザーには分からない苦悩ってのは、やっぱり存在する


以前、DXF変換ソフトの話を他の会社の人と話してて
DXF変換ソフトの仕様(Fortran的なアレ)とか
出来ればやって欲しいんだけど〜 って言ったら
「AutoCADでちゃんと読めてるんだから
 何の問題があるんだ?
 おまえは他社に プログラミング修正しろと
 命令しているのか?(そういう立場なのか?)」
みたいに言われた事があるんだけど
ま、そういう風に言われたら もう
どーしよーもないんでwww
でもまそうやって、「DXF方言」が発生・拡散して
行ったのだろうなぁ〜と妙に納得したというかw

ちなみに
その会社とはそれ以来一度もアクセスしていないw
(前の前の職場での話だけどw)

ま、うちのツールなんて
使っている人は非常に少ないだろうから
基本的には どーでもいい話なんだろうなwww



2Fの布団でちょいゴロンとすると
ファン送風機の温度計は、37℃だった・・・w
暑いw
早晩、熱中症で死ぬかもしれんw

いやぁ参りました

Jw_cad Ver.10.x での Unicode対応による
当方ツールのサンプルプログラム作り、ですが
Delpphi XE4・FMX で作成しているプログラムですが
それを Delphi 10.3.3、10.4.2、11 に持っていくと
Unicodeがマトモに扱えないという・・・
うーん 何だコレ Delphi バージョンアップすると
使い物にならんぞコレw
特に サロゲートペアが全く使えない というか
WideStringOf がエラーしまくりでプログラミング出来ない
何だコレw
何らかの「おまじない」が必要なのだろうか?
うーむ さっぱり 分からないw

古いシステムの Delphi XE4 ではそこそこ思ったように動くのに、新しいシステムの Delphi 10,11 では動かない(私が 動かし方を知らないだけ という可能性も大)
まぁ現状、Delphi 10,11 でシェアウェアは作ってませんから実害は無いんですけど、この状態では、Android のビューワーとかも作れないなwww まぁ どうでもいいやwww


追記:
Delphi 10では、WideStringOf の引数(TBytes型)を1文字ずつ変換するようにしてやれば、エラーしなくなる事が分かりました それでも 変換できない文字もあるし、文字の上部分が横にずれたりする文字もあるし(→こんなもん、どーせーちゅーんじゃwww)Delphi と Unicode は・・・謎がまだまだ多いw

Delphi VCL での文字描画で

Delphi VCL での GDI での文字描画で
文字を回転して描画したいから
TLOGFONT を使用しているんですけれども
どうもやっぱり、Unicode文字がすんなり描画できないw
lfCharSet にキャラクタセットを指示するんですが
これまでは DEFAULT_CHARSET を指定してましたが
やっぱり Unicode文字が出ない場合がある
かといって、UNICODE_CHARSET みたいなのも無いし
一番 MAC_CHARSET が近いかな?と思ったけどダメ
文字によって
 ANSI_CHARSET
 BALTIC_CHARSET
 CHINESEBIG5_CHARSET
 EASTEUROPE_CHARSET
 GB2312_CHARSET
 GREEK_CHARSET
 HANGUL_CHARSET
 MAC_CHARSET
 RUSSIAN_CHARSET
 SHIFTJIS_CHARSET
 SYMBOL_CHARSET
 TURKISH_CHARSET
 VIETNAMESE_CHARSET
 JOHAB_CHARSET
 ARABIC_CHARSET
 HEBREW_CHARSET
 THAI_CHARSET
の中から自動選択・・・ってのも判別方法分かんないしw 文字コードから判別するとかでもマトモな結果が得られるとも限らないし、うん、結局、諦めましたwww (従来通り、DEFAULT_CHARSET ただ、サロゲートペア文字の場合は MAC_CHARSET を指示する事にしたw)

GDI+文字描画だとどうだろうか?
と少し試したけれども、同じように文字化け
キャラクタセット指示とか無いけど 文字化け
まぁ、GDI+は Windows98から使える技術だし無理?

取り合えずテスト3 for Jw_cad Ver.10

という訳で取り合えず
Delphi XE4 FMX にて
Jw_cad Ver.10.01〜での JWW/JWSデータを見るってだけのテストツールを作ってみました
https://afsoft.jp/test/jwwv.zip
の更新版です

JWWファイル 又は JWSファイルを指示して
中身を文字情報として読み取るだけのテストプログラムです
で、バージョンと文字コードを指示して
ファイルを保存する機能を追加しました
※JWWファイルをJWSとして保存、及び
 JWSファイルをJWWとして保存、
 という事は出来ません

興味ある人だけどーぞw

取り合えずテスト2 for Jw_cad Ver.10

という訳で取り合えず
Delphi XE4 FMX にて
Jw_cad Ver.10.01 での JWWデータを見るってだけのテストツールを作ってみました
https://afsoft.jp/test/jwwv.zip
の更新版です

JWWファイル 又は JWSファイルを指示して
中身を文字情報として読み取るだけのテストプログラムです

まだファイルを保存する機能はありません

興味ある人だけどーぞw

ちなみに、ヘッダページ内にある「文字コード」は、文字が無い場合=デフォルト状態は「ANSI(Shift-JIS)」になってます

Ver.10.01 の文字データかぁ・・・

取り合えず メモ内容に関しては
取得出来たと思うw
まぁ、超長い文字列には対応してないけど(64K以上)
そんな超長い文字列は元々入力出来ないので
多分問題は無いでしょう

掲示板で サロゲートペア つまり
Unicode が 010000H〜 の場合、2文字分になる
って話だろうと思うけど
Jw_cad は それに対応してると思う
画面に表示出来ていないだけでw
(データ化はしてる)

まぁ長時間ランニングテストをした訳ではないけど

昔作った最初のテストプログラムはもう古すぎて
そのまま編集という事が出来ず
テストプログラムを1から作り直さないといけないw

あと
Delphi FMX で作業しているので
クリップボードデータを扱う事は出来ません
(Delphi FMX で 任意データのクリップボードのアクセス方法というのが全く不明な為)
という訳で
「JWクリボス」等、JWWクリップボードを扱うプログラムは今後も、Ver.10〜では対応出来ませんので御了承の程をよろしくお願いします

ソフトウェアの仕様書

ソフトウェアの仕様書は、一般的に、
ソフトウェアを作成するにあたって
どういう動作環境で
どのような内容の事を
どのようなインターフェイス、アルゴリズム、データ等で
どのように入力・処理・出力するのかを
明確に記述したもので
それによって、作成するまでの工程・工数・費用算出・見積書作成を行い、システム構築を行うかどうかの決定をする(予算、納期等を含む)というもので、仕様書はSE(システムエンジニア)等が顧客と協議の上で作成するが、顧客から後から仕様追加・変更が為される場合も多く、その際には別途料金・納期延長となっていくのが通例

JW_CAD(DOS版) の場合は、もともとは 作者氏が、作者自身のために作成したものであるから、明確な仕様書というのは存在しないかもしれない が それ以前に使用していたCADソフトと同じような画面・操作・内容は出来るように、プラスアルファで こういう事がしたい、というのはあったであろう 作成したものをネット上にアップし、それを使ったユーザーからの意見を参考にして、仕様や機能の追加変更を行っていき、Ver.2.22H で完結

Jw_cad(Windows版)の場合は、DOSからWindowsへの移行が本格化し、作者氏もWindows版を作成しようという気持ちになって、おそらくは、同じものを作っても仕方が無いので新しい物にしたい、という意味合いで、新しい画面・新しいインターフェイスで、旧来の JW_CAD にプラスアルファの仕様と機能を、という事で開発スタートされたのであろう

「Jw_cad for Windows 徹底解説リファレンス編」という書籍では、「JW_CADの特徴 〜DOS版からWindows版へ」という最初のくだりでは
・マウスの左右ボタンの使い分け
・ドラッグ操作とクロックメニュー
・ズーム操作
・パラメトリックな建具オプション
・包絡処理
・線記号変形
・日影図
・2.5D
・外部変形
・画像ファイルの表示
という項目がピックアップされています

また、「Jw_cad for Windows 徹底解説(操作解説編)2012-2013」という書籍では、Ver.7.11 のCD-ROMが添付されていて、冒頭の「Jw_cadの新機能と特徴」という章では
1.SPEEDフォーマットデータの読み込み
2.DXFファイル書き出し時に3DSフォーマットデータも同時書き出し
3.画像ファイルの表示
4.日影図
5.天空図
6.図面情報のコピーと起動オプション・タグジャンプでの利用
7.2.5D
8.ブロック編集とブロックツリー
9.画面ズーム操作
10.マウスの左右ボタンの使い分け
11.クロックメニュー
12.包絡処理
13.パラメトリックな建具コマンド
14.線記号変形
15.外部変形
16.SXF対応
という項目がピックアップされています

Ver.8 では、ヘルプにて
◆Version 8.00 (2015/01/12)
・画面表示にDirect2Dを使用するようにした。
・Windows8 のタッチ操作に 対応した。
(ピンチまたはストレッチによるズーム、スライドによるスクロール)
・Shift+両ボタン(または左ボタ ン)ドラッグで、画面がスライ ドするようにした。
(基本設定→[一般(2)] で左ボ タンドラッグによるスライドを指定したときは、包絡コマンドの[Shift+左ボタン]による中間線消去は使用できない)
・ファイル選択にコモンダイアログを使用できるようにした。
(基本設定→[一般(1)] )
・建具(平面、断面、立面)でソリッド図形と楕円を使用できるようにした。
(フォルダー「変更建具データ」内の「JW_OPT1.DAT」、「JW_OPT3.DAT」のデータ説明参照)
・記号のソリッド図形に一部機能を追加した。
(フォルダー「変更建具データ」内の「JW_OPT4.DAT」のデータ説明参照)
・ファイル名の部分表示を追加し、印刷時に使用 できるようにした。
&fsn (n=1〜9):半角スペースで区切られたファイル名の左から数えてn個目の文字列
  例:ファイル名が「A-1001 2階平面 詳細図3」のとき
   「&fs1」→「A-1001」、
   「&fs2」→「2階平面」、
   「&fs3」→「詳細図3」
・AUTO以外で[消去]を2回選択すると連続範囲選択消去、[寸法]を2回選択すると寸法角度が 90°と 0°の切換えになるようにした・
 (環境設定ファイル「S_COMM_9」の 4 を参照)
・FILE選択ダイアログの画面最大分割数を32まで設定できるようにした。
 (環境設定ファイル「S_COMM_0」の 10 を参照)
・環境設定ファイルの「文字入力ダイアログの縦サイズ」の標準値を変更した。
(環境設定ファイル「MSET」の 5 を参照)
・包絡に「建具線端点と包絡」を追加した。
・分割コマンドに円全周分割を追加した。
(分割数入力→右クリックで分割始点指示→分割する円を右クリックで指示)
・DXF出力の際、線種名が空の線が出力されエラーとなる現象を回避した。
・3DS出力を廃止した。
・インストーラーに InstallShield を使用するようにした。
とあるようにバージョンアップによって機能追加・変更・削除が行われています

現行、Ver.8.25a ですが
「Jw_win.txt」より
-----------------------------------------------------------------
【ソフト名】 2次元汎用CAD Jw_cad Version 8.25a
【登 録 名】 Jww82453.exe Jw_cad Version 8.25a
【動作環境】 Windows 8, 10 ,11
【著作権者】 Jiro Shimizu & Yoshifumi Tanaka
【使用言語】 Microsoft Visual C++ in Visual Studio Community 2019
【掲載月日】 2022/04/10
-----------------------------------------------------------------
開発環境を Visual Studio 2013 からVisual Studio 2019 に変更しました。それに伴い、インストーラーの生成を、InstallShield から Inno Setup に変更しました。そのため、インストールの細かい雰囲気が変わっていると思います。
とあるように、動作環境は Ver.6.21a までの
「Windows95, 98, Me/ NT4.0, 2000, XP, Vista」
とは大きく変わっています

「Windows 8, 10 ,11」とありますが
Windows Vista、7、8.1 でも動作しています

動作PCは、日本・日本語環境である必要があります

Jw_cad は 32bitアプリケーションであり、64bitアプリケーションではありません
そのため、PCにメモリ16GBを入れていたとしても、Jw_cadで扱えるメモリは最大 3.2GBとなります

それでは Jw_cad のデータ仕様について見ていきましょう
https://www.jwcad.net/jwdatafmt.txt

文字コード:ANSI(ShiftJIS)
 すべてにおいて Unicode文字は使えません
図面用紙サイズ
 A0〜A4、2A、3A、4A、5A、10m、50m、100m
 縦向き無し ユーザー任意指定無し
データ種別
 直線
 円弧(全円、楕円、楕円弧、含む)
 点(仮点、点マーカ含む)
 文字(画像参照文字列により画像表示も可)
 ※フォントは TrueType/OpenType和文フォント使用可
 ※プロポーショナルフォント使用時は文字間隔に0.01指示
 ※縦文字可能 但し半角文字の使用には注意
 ※文字種1〜10+任意サイズ文字 での設定
 寸法図形
 ※直線寸法のみ(直線+文字) 寸法グループ化有
 ※SXFファイル読込時のみ、
  端点矢印引出線も含む特殊な寸法図形が扱える
 ソリッド図形(線形、三角、四角、円周、全円、扇形、
        弓形、円外側、円環)
 ブロック図形(ブロック図形内にブロック図形も可能)
 ※マイナス倍率も指定可能
 ※AutoCADのような配列指定不可
 ※AutoCADのようなByBlock指定は不可

 ※データ数に制限無し(メモリの許す限り)
 ※画像の種類は標準でBMPのみ
  Susieプラグインにより JPEG、TIFF、GIF、PNG等も可
  画像の透過(特定1色を透明扱い)可能 α値指定ではない
 ※画像のJWW図面ファイルへの同梱も可
  但しBMP化された上で gz圧縮される
 ※画像データは内部キャッシュメモリに入れられるがその最大容量は不明、ファイル数が多かったり巨大サイズなものがあると画面に表示出来ない場合が有り得る
レイヤー数:最大256
 レイヤグループ16 × レイヤ16
 レイヤグループ内にレイヤがあるというイメージです
 レイヤグループ、レイヤには名前が付けられます
 (最大254半角文字) 
 レイヤグループ毎に縮尺指定可能(1000/1〜1/3000000)
 ※AutoCADのようなByLayer指定は不可
線色
 通常線色8色(画面要素色、プリンタ出力要素色)
 補助線色1色(線色内容は図面データに含まれない)
 SXF対応拡張線色256色(既定義16色、ユーザー240色)
 ソリッド図形のみ任意色(フルカラー)使用可能
線種
 通常線種8種、補助線種1種
 ランダム線種5種、倍長線種4種
 SXF対応拡張線種31種(既定義15種、ユーザー16種)
線幅
 線色と対応
 データ毎に指定可能
 ( 0指示:標準幅=線色対応、
  1/100単位で1〜30000指示(0.01mm〜300mm) )
その他属性
 ハッチ属性、寸法属性、建具属性、図形属性、曲線属性

画面描画機能
 WindowsGDI、又は、Direct2D

コマンド体系
 メニューから実行、ツールバーから実行
 クロックメニューから実行
 KEY設定によりキー実行、Autoモードから実行
ファイル入出力
 図面データ
  JWW形式(旧バージョン保存可能)
  JWC形式(DOS版JW_CADデータ)
  DXF形式(R12形式+α)
  SXF形式(SFC、P21形式 レベル2、Ver.3.1)
   ※内部データがレベル2ネイティブ対応ではない為
    直線、円弧等に分解される
  SPEED形式(読み込みのみ)
 図形データ
  JWS形式(設定や画像そのものは入らないので注意)
  JWK形式(DOS版JW_CADの図形データ)
 その他
  建具データ(JW_OPT1〜3x.DAT)
  線記号変形データ(JW_OPT4x.DAT)
  座標ファイル(TXT形式)
  2.5Dからの3D-DXF出力
印刷
 Windowsプリンター
 (Windowsプリンタードライバーによる出力)
入力デバイス
 キーボード
 2ボタンマウスデバイス
 3ボタン以上のマウス(ホイール利用可能)
 タッチパネル(長押し右クリック処理は使えないので注意)
 SirfaceDial
 ※wintab、DirectXのDirectInput、Xinput等には未対応

ユーザーカスタマイズ
 建具データ(JW_OPT1〜3x.DAT)
 線記号変形データ(JW_OPT4x.DAT)
 外部変形機能(バッチファイル・座標ファイル)
 ※SDK、API、コマンドマクロ、OLE等は無し

SVGか〜

取り合えず、Jw_cad から SVG出力出来る外部変形といえば
kojimaさんの
「外部変形でEMFファイル/SVGファイル/Canvas作成」
でしょうか
https://www.farchi.jp/downloads/index.php/file_61bf1dd987b6d

SVG仕様
https://www.w3.org/TR/SVG2/
https://triple-underscore.github.io/svg-misc-ja.html

そういえばニュートン社の「ImageKit」でも
SVG対応とか言ってたっけ・・・
https://www.newtone.co.jp/productik1000vcl.html
うちのは大分古いけど
(Delphi FMX では動かないという事と、Delphi FMX では標準で JPEG/PNG/GIF/TIFFが扱えるという事で、バージョンアップしてないです、ボンビーだし)
でも
SVGには余り興味も持ってなくて全然調べた事がないです

WMF/EMF は Delphi VCL で昔から普通に保存出来ますし
HTML5 Canvas の本は、古いけど一応持ってます
PDFの本(Adobe の PDFリファレンス)は一応持ってますけど、それ見て線やベジェ線を出力してみたけど取り合えずスルーしてw Delphi の RAVEコンポーネントや FastReportコンポーネントでも PDF出力が出来るのは確認したけど(フォントの問題はあったような気がしたけど)取り合えず興味は無いです 必要性も無かったので…
以前、ホームページ上で絵を描くって事で、HTML5 Canvas の勉強はざっとだけやったんですが結局、php で GD 使いました

[Pcata] p197_連続複線 追加

Pcata サイトに
シェアウェア「p197_連続複線」の追加を行いました
http://afsoft.jp/p-cata/jwwgapp/p197.html

ブロック図形や曲線属性が使えないとか 外部変形ならではの機能制約はありますが、取り合えず 作ってみました

[Pcata] p196_連続複写 追加

Pcata サイトに
シェアウェア「p196_連続複写」の追加を行いました
http://afsoft.jp/p-cata/jwwgapp/p196.html

ブロック図形や曲線属性が使えないとか 外部変形ならではの機能制約はありますが、取り合えず 作ってみました

Jw_cad 2.5D の勉強

現在作成中のプログラム、ようやく
2.5Dで作成した図が表現出来るようになったっぽい
・・・
で・・・COLLADA (dae) 出力をくっつけて・・・
(※COLLADA出力は、かなり昔から
  Script!3D、AFWord2などで対応済)

よく分からんけどコレでいいやwww

しかし、この開発用PCに昔に入れた
SketchUp7J でインポートすると
何やら 変なメッセージが出る・・・
ん? 今までこんなの あったっけ?
OKボタンを押すと先に進むんだけど
ファイル確認しても 別段おかしい所は無さそうだし
以前 Script!3DやAFWord2の時に検証したデータをインポートをしても、当時は出てなかったのに、今は同じメッセージが出るようになってた・・・何だこれ?・・・PCの調子がおかしくなってきてるのかもしれない それ以外の検証用ツールが無い あ
Delphi XE4・FMXの TModelコンポーネントが Collada対応してたよな それで試しにやってみると うん 問題無さそう

おっと、もうこんな時間だ
夕食作って 夕食にしないとなー
続きはまた明日

Jw_cad 2.5Dの管

現在作成中のプログラム、ようやく
2.5Dの管が・・・
・・・
全く 分からんwww

何やねんコレwww

仕様が全く分からんのでプログラミング出来ない
先は まだまだまだまだ長い



水平線を描いて始点に2.5D文字「0,2,1,30D」を描いて
文字コマンドの右クリック複写で それを終点にも作図すると
フツーに
直方体が作図出来る訳だけど
2.5Dコマンドで普通にクリックした場合のように
180°回転したような文字だと
フツーに
ねじれた直方体になる
文字の角度が 90°〜270°の場合は、ねじれた直方体になる

え? 文字の角度を取得して判定しなければいけないのか?
それは 仕様なのか? バグなのか?

標準添付「Test6.jww」では、終点側の2.5D文字は
「0,2,1,-30D」になっていて 180°回転になっている
これで普通に直方体になるんだけれども
これが仕様なのか?

その文字を0°にすると当然、長方形はねじれる事になる

それでは
2本の線の連続線を描いて 2.5D文字で「0,2,1,30D」で
3点指示して作図させる(3点目は文字がひっくり返る)
当然ながら、1本目の線は直方体に
2本目の線はねじれた直方体になる
仕様通り
・・・
これが本当に、仕様なのか? バグなのか?

標準添付「Test6.jww」での「0,2,1,-30D」は、
普通の直方体のサンプルなのか?
それとも、ひねりを加えた直方体のサンプルなのか?

はい、全く、分かりませんw

2.5Dでの文字の付加は、クリックの仕方で文字の角度がころころ変わるから、基本的に、2.5D文字の角度は無関係であるべきだと思っていたんだけれども、実のところは、そうじゃない、って事なんだろうか?
それとも、管だけがイレギュラーで、管だけは2.5D文字の角度を考慮せねばならない/2.5D文字内容を逐次気にしつつ作図せよって事なのか、では、四角形の4点に 2.5D文字を作図する場合は一体どうせよという事なのか(そもそも、そういう作図はするなって事なのか)

・・・

はい、全く、分かりませんw

Jw_cad 2.5D でサッパリだぜ〜w

という訳で今日も相変わらず Jw_cad の 2.5D でお悩み試行錯誤状態ですw

朝のうちに今日のテーマは済ませて昼から外出する予定だったんですが、午前中で終わらず、外出することが出来ませんでした・・・あーあ・・・

今日のテーマは・・・
扁平率0.1・高さ 1000以上の楕円→垂直に立った円
です!
いやぁ〜〜マジで まいっちんぐ〜

まず、2.5D文字だけど
例えば 1000,1 であれば
円の位置=x,y,z=高さ0(1000-1000=0)で
2項目めの「1」は、その円柱の厚み になる
ということで 通常の「高さ・奥行」と扱いが違うって事

円の位置でX軸90°回転をし、更に、
円の傾き角度の分、Z軸回転をする
で 円に厚みを与えて円柱化する
(数値がマイナスなら反対方向)
楕円弧(開始角度・終了角度あり)の場合は
開始角度+傾き角度 から 終了角度+傾き角度 への
円弧のプッシュ状態となる
立面モードには対応しない

という感じ

いやぁ、これは正直、パッとは分からんわw

この機能、使いこなしている人ってどれくらい居るんだろう?
Test6.jww にあるような車のタイヤ部分とか
そういう使い方なんだろうけど
なんでこれ、傾き180°なんだろ?
何か理由があるんだろうけどよく分かりませんw

まぁいいや、あ〜しんどwww

VRAMシステム

私が最初に触ったPC(※当時は、パソコンではなくマイコンと呼んでいた)は、NEC PC-6001 という8bitコンピュータだったが、Z80AコンパチのCPUだけどもメインメモリは標準状態では半分の32KBしか使えない状態で、別売のメモリ拡張ユニット PC-6006 を使う事で 64KBが使える状態でした(そのうちプログラミングで利用出来るのは半分;標準で 16KB、拡張して32KB)
画面表示は VRAMというそれ専用のメモリにデータを入れる事で出来ますが、PC-6001 は、256×192・2色モード、又は、128×192・4色モード であり、前者は 白or黒、後者は 青・赤・黄・紫 だっけ?忘れましたが後者は1ドットが長方形になるし画面がオモチャっぽくなるので基本的には前者を使う場合が多かったと思います(黄金の墓とかゼビウスとかスペースハリアーは4色モードだったけど)
前者の場合、家庭用TVに接続すると
TVの解像度の低さのために「にじみ」が出て、偶数ドットを立てると青、奇数ドットを立てると赤、だっけ?(逆かな?)両方立てると白、無しの場合は黒、という感じで、この「にじみ」を利用した4色表示が凄く良かった、ってのを記憶してますw

PC-8801では、640×200・8色になりましたが、CPUは同じく Z80Aコンパチなので、それだけで 48KBを食い潰してしまいプログラム領域なんか全くあり得なくなりますので、バンク切替方式を使い、別メモリと切り替えて利用するようになりました
Rプレーン、Gプレーン、Bプレーン、で 1bitずつ使って合計8色

PC-9801では、640×400・16色となりますが、CPUは 16bitCPUの 8086シリーズとなり、メモリも 1MB使えるようになりました(RAMは半分の640KB)(初期タイプ〜では別途拡張メモリを使わないと 1MBには出来なかったし8色モードしか使えなかった)が、それくらい領域が広がると VRAM もバンク切替せずともオンメモリでOKだぜーという事で
 プレーン0(青):A8000〜AFFFF
 プレーン1(赤):B0000〜B8FFF
 プレーン2(緑):B8000〜BFFFF
 プレーン3(濃):E0000〜E7FFF
となります
尤も、この4プレーンに書き込みするにも速度が遅くなってしまうため「GDC」が搭載される事になり、このチップへ描画命令を送る事で線や円弧を描画出来るようになります
PC-9801UV/VF/VM で「GRCG」(グラフィックチャージャー)が搭載され、更に、PC-9801VXで「EGC」(エンハンスド・グラフィックチャージャー)が搭載され高速化が図られます

次に、PC-98GS、PC-9821(マルチ)という新機種が出てきて、そいつは 640×480・256色/64K色/1677万色が使えるようになり、「拡張グラフィックス」と呼ばれます これを利用するのに専用のVRAMが用意され、DOS 5.0以降から用意された拡張グラフィックスドライバ(AVGDRV.SYS)を組み込み、それ用のプログラミングを行う、という事になります
試しに使ってみたことはありますが、感覚的にはこれまでの GLIOアクセスと同じような感じ、プログラミング手法も速度的にも・・・
但し、このあたりはもう Windows3.1全盛期に入って、IBM PC/AT互換機も入ってきて、世の中は DOSから Windowsへ、という事になり、PC-98&DOS時代は終了へと向かっていきます

Windowsでの画面描画も、従来の VRAM への直接アクセスや GDCへの描画命令等から、Windows GDIへの描画命令へと代わります 無論、WinG→DirectDraw→DirectX、GDI+、OpenGL、その他などなどはある訳ですが グラフィックの解像度や色数、等等は多少増えたにせよ数値そのものは左程変わりはありません 4kとかそんな位 色は32bitカラー(ARGB色)で安定 あとは速度的な話とかデバイス(マルチモニタやVR等)がどこまで?って感じでしょうか?

あぁ、Macとか EWSとか そゆのは分かりませんw

Pcata PR外部変形 終了しました

Pcataサイトにて公開しておりました
「PR外部変形」(P100〜P192)は終了作業が終わりました
今後は「シェアウェア外部変形」となり
インターネット接続は行わないようになっています

これまで利用されていました「PR外部変形」は
動作しなくなりますので御注意下さい

Jw_cad の外部変形で うまく動かないと思ったら…

Pcata の外部変形を修正作業中ですが
・・・
いやー 何か うまく動作しないなー と思ったら
REM #hm
お前かー(怒)

検索したら以前にもこういう事があったのねん
http://blog.livedoor.jp/afsoft/archives/51856187.html
13年前の事なんか とっくに忘れてた・・・

[Pcata] p193_節間線色線種変更 機能追加

Pcata サイトに
シェアウェア「p193_節間線色線種変更」の機能追加を行いました
http://afsoft.jp/p-cata/jwwgapp/p193.html

ワンクリックでなくても良いのではないか?
という話なので
範囲選択して 複数点指示が
出来るようにしたバッチファイル3つを追加しました
(それに応じてプログラム p193.exeも変更しています)

RAD Studio 12.1 Athens

エンバカデロ社からメールが来てました
「RAD Studio 12.1 Athensリリース」
との事

https://blogs.embarcadero.com/ja/announcing-the-availability-of-rad-studio-12-1-athens-ja/

https://docwiki.embarcadero.com/RADStudio/Athens/ja/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB_%E3%83%8E%E3%83%BC%E3%83%88

12.1 を入れる前に、12 をアンインストールせよとの事

うちには縦1080ドットのディスプレイのノートPCはありませんので、インストールする予定はありません 今後もそんな感じで大きいディスプレイを要求されていくでしょうから、これで Delphi サブスクは終了確定かな

[Pcata] p193_節間線色線種変更 追加

Pcata サイトに
シェアウェア「p193_節間線色線種変更」を追加しました
http://afsoft.jp/p-cata/jwwgapp/p193.html

Pcata公開中の PR外部変形について

現在 Pcata サイトで公開しております
「Jw_cad PR外部変形」についてですが
これまで広告収入は全く一切無く、「いちいちインターネットに接続される」「ネット接続していないPCでは利用出来ない」の意見等が散見され、誰にとっても余り良いシステムとは言えませんでしたので、今後はこれを廃止し、
シェアウェア化していく事にしました

作業はこれから順次行っていく予定です

全ての作業が終了すれば
これまで御利用いただいておりました「PR外部変形」は
それ以降、利用出来なくなりますので
予め御了承の程、何卒よろしくお願い致します

今日のお勉強

今日は晴れましたねー
風は強いですけど

今日のお勉強は
いつも通り 本の斜め読み
あ・・・
終わってしまった・・・
結局
欲しかった情報は無かったですが〜

今日の昼食は、すぱげっちい
お米の消費を抑えるため
最初はケチャップ使おうかと思ってたけど
もやし洗ってる最中に 小松菜と
厚揚げ使って 醤油使って 和風な感じに
しようかいな という事でチェンジ

あ、そうそう
先日、馬鹿な事をしてまた、ジグ1つ
無くしてしまったので、ジグ1つ用意
アシストフック付けて
既存のトレブルフックを外し、
ブレード付きのトレブルフックにチェンジ
ただ
このブレード付きトレブルフックは、安物のせいか
ブレードがすぐダメになるんだよなぁ〜

さて、午後は何をしよう?

今日も 雨〜

昨晩寝たのが遅かったのですが
今日はごみの日なので それなりに早く起きないといけない
にも関わらず 寝つき悪いし 熟睡出来ず
夜中に何度か目が覚めてしまう・・・
で、向かいの家のデカい作業音で目が完全に覚めましたw

というわけで今日は完全に 寝不足ですw

朝は本を眺めながらお勉強・・・
しかし全く頭に入らないw

昼食は・・・豚丼にするか〜

で、午後からは 以前から気になってた
平行四辺形に接する楕円の作図
なプログラムを作る作業をば・・・
試しに、Jw_cad 外部変形でプログラミング〜

え? Jw_cad 標準機能にはあるって?
そんなのはわかってるけど
変形機能なプログラムを作る際、円・楕円→楕円 変形を
するのに どうしても必要なのよね
(今までは近似計算をするか、別の楕円式にするか、等でやってたんですけど)

先日からネットをあちこち徘徊してて
これ、うまく出来るかな?
ってのがあったので それをずっと試してました
・・・
ってゆーか
4線指示して、それが平行四辺形になるかどうかってチェック作業のほうに時間が掛かっていたりして・・・w

なんかおかしーな・・・
合わないなー
と思ってたら、そもそも前提条件が違ってたりw

そして先ほどようやく出来たw

ふぅ〜〜

SXF仕様の寸法線フィーチャ

SXF仕様の寸法線フィーチャには
・直線寸法
・弧長寸法
・角度寸法
・半径寸法
・直径寸法
がありますが
直線寸法は、寸法値線の前後の飛び出し分がばらばらになっておらず、1本化されてしまっています。そのため、どの点からどの点までの寸法値がコレ、というのが瞬時に分かりません。端点矢印位置というのはありますが、端点矢印を「なし」にする事も出来るため、端点矢印間の長さを寸法値に、という事も出来ません。となれば、寸法値線と寸法補助線との交点をその点にする、って手法もあり得ますが、寸法補助線を「なし」にする事も出来るため、それも確実な手法ではありません。という訳で、計測2点が不明であるため、CADで運用するには少し厳しいデータ仕様だと思えます。
特に Jw_cad での寸法図形は、寸法値と寸法値線の2つから構成されますが、計測2点が不明な状態では寸法図形にする事が出来ません。なので、寸法図形にするには、1)端点矢印があるか? 2)端点矢印がなければ寸法補助線はあるか? 3)どちらも無ければ伸縮は無いとしてその点を という限定仕様にするしか無さそうです。
次に
弧長寸法・角度寸法も直線寸法と同様に計測2点が不確実です。
そして
半径寸法・直径寸法ですが、弧長寸法・角度寸法同様の寸法線原点(指示円弧の中心点)・寸法線半径が無いのが痛いですね。半径は無いとしても最低限、中心点は欲しかった感じです。寸法値線が中心点を通らない引出し指示の場合、寸法線データとしての利用価値はゼロとなります。

Jw_cad の寸法図形は、直線寸法(寸法値+寸法値線)だけですが、はてさてどうしたものかなぁ?と少し考え中です。
Recent Comments