Jw_cad 作者さんのホームページの掲示板で
こういった特殊なコマンドが標準コマンドに組み込まれるのかどうかは「?」ですし、そういった特殊な作図は外部変形プログラムを作ってしまう、という手法が一般的かと思いますが、
これを、当方の「Script!」で作図することを考えてみます。
http://afsoft.jp/program/p05.html
まずは、菱形の作図です。
次に、菱形を何個も描く事を考えます。
高さの開始の値と、終了の値、その間を何分割するか、を入力して作図するようにしてみます。

となりますので、JWWクリップボード出力をして、JWW側で[貼付]をクリックして配置点を指示します。

という感じでしょうか?
ひし形の辺の長さを変えること無く対角線を任意に変更出来て外形の変化の軌跡が図面に落とせたら助かります。(今は円の交点を拾ってひし形の変形を書いてますが、とても面倒です)という要望がありました。
こういった特殊なコマンドが標準コマンドに組み込まれるのかどうかは「?」ですし、そういった特殊な作図は外部変形プログラムを作ってしまう、という手法が一般的かと思いますが、
これを、当方の「Script!」で作図することを考えてみます。
http://afsoft.jp/program/p05.html
まずは、菱形の作図です。
// 菱形その1これは単純に1つの菱形を描きます。
#VAR
l = 100 ;*辺の長さ
h = 50 ;*中心からの高さ
x ;x
w1
w2
w3
w4
#DRAW
LAYER SetLineLay1 // 外形線
PEN SetLineCol1,SetLineLtp1,SetLineWid1
CAL x = Sqrt(l*l - h*h)
CAL w1 = x
CAL w2 = 0
CAL w3 = 0
CAL w4 = h
LINE w1,w2,w3,w4
CAL w1 = w3
CAL w2 = w4
CAL w3 =-x
CAL w4 = 0
LINE w1,w2,w3,w4
CAL w1 = w3
CAL w2 = w4
CAL w3 = 0
CAL w4 =-h
LINE w1,w2,w3,w4
CAL w1 = w3
CAL w2 = w4
CAL w3 = x
CAL w4 = 0
LINE w1,w2,w3,w4
次に、菱形を何個も描く事を考えます。
高さの開始の値と、終了の値、その間を何分割するか、を入力して作図するようにしてみます。
// 菱形その2これを実行すると・・・
#VAR
l = 100 ;*辺の長さ
h1 = 10 ;*開始高さ
h2 = 80 ;*終了高さ
n = 10 ;*分割数
h
x
i
w1
w2
w3
w4
#DRAW
#IF (l <= 0)
BEEP
MESSAGE "入力エラー","辺の長さは正の数値で入力して下さい","",0,0
#EXIT
#END
#IF ((l*l - h1*h1) < 0)
BEEP
MESSAGE "入力エラー","開始高さを再入力して下さい","",0,0
#EXIT
#END
#IF ((l*l - h2*h2) < 0)
BEEP
MESSAGE "入力エラー","終了高さを再入力して下さい","",0,0
#EXIT
#END
LAYER SetLineLay1 // 外形線
PEN SetLineCol1,SetLineLtp1,SetLineWid1
CAL h = h1
CAL i = 0
#WHILE (i <= n)
CAL x = Sqrt(l*l - h*h)
CAL w1 = x
CAL w2 = 0
CAL w3 = 0
CAL w4 = h
LINE w1,w2,w3,w4
CAL w1 = w3
CAL w2 = w4
CAL w3 =-x
CAL w4 = 0
LINE w1,w2,w3,w4
CAL w1 = w3
CAL w2 = w4
CAL w3 = 0
CAL w4 =-h
LINE w1,w2,w3,w4
CAL w1 = w3
CAL w2 = w4
CAL w3 = x
CAL w4 = 0
LINE w1,w2,w3,w4
CAL h = h + (h2-h1)/n
CAL i = i + 1
#END

となりますので、JWWクリップボード出力をして、JWW側で[貼付]をクリックして配置点を指示します。

という感じでしょうか?


このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。