このページについて | ||||||||||||||||||||||||||
このページは、mura's home の AutoCAD掲示板 で、当方の発言(書込み)がある以下の掲示板の内容です。
タイトルおよび質問内容は上記より引用しています。 引用した質問内容は、バックカラーが となっています。 当方の発言は、バックカラーが となっています。 その他の著作権者の掲載許可を得ていない発言内容は削除(リンクを除く)しています。 また、当方では、削除部分の正当な著作権保持者を判断出来ませんので、 ご連絡を頂いても、復活させることは出来ません。ご了承下さい。
|
ボタン一つでワイヤーフレームとシェーディングを切り替えようとしてるんですけど?
どうしたら宜しいのでしょうか?(笑)
著作権者の許可を得ていないため削除
著作権者の許可を得ていないため削除
ご希望は「2Dワイヤフレーム」と「フラットシェーディング」の
切替えの事でしょうか?
システム変数が判らなかったので力わざですが、ドグルのマクロです。
^C^C_shademode;;$M=$(if,$(eq,$(substr,$(getvar,lastprompt),$(-,$(strlen,$(getvar,lastprompt)),8),7),"ワイヤフレーム"),_shademode;F;^C「フラットシェーディング」にしました,_shademode;2D;^C「2Dワイヤフレーム」にしました)^C
私も初心者なので、達人方の添削お願いします。
lastpromptは
LT2000i,LT2000 非対応なのでLTは不可です。
それ以降のバージョンは手元に資料がないので判りません。
半角カタカナが強制的に全角になるようなので、
上記の"ワイヤフレーム"を半角カタカナにしてください。
著作権者の許可を得ていないため削除
「3Dワイヤフレーム」と「フラットシェーディング+エッジ表示」の
切替えならば、
^C^C_shademode;;$M=$(if,$(eq,$(substr,$(getvar,lastprompt),$(-,$(strlen,$(getvar,lastprompt)),8),7),"ワイヤフレーム"),_shademode;L;^Cフラットシェーディング+エッジ表示にしました,_shademode;3D;^C3Dワイヤフレームにしました)^C
でいかがでしょうか?
半角カタカナの書込みが出来ませんので、
""内のワイヤフレームを半角カタカナにしてください。
著作権者の許可を得ていないため削除。
エラーメッセージが出てませんでしょうか?
出てれば書込んでくだされば、対策できるかもしれません。
ワイヤフレームの”ー”は、半角カタカナの長音記号でしょうか?
"-"半角マイナスではありませんので注意してください。
それとも以下のようにしてもいいです。
^C^C_shademode;;$M=$(if,$(eq,$(substr,$(getvar,lastprompt),$(-,$(strlen,$(getvar,lastprompt)),2),1),"ム"),_shademode;L;^Cフラットシェーディング+エッジ表示にしました,_shademode;3D;^C3Dワイヤフレームにしました)^C
半角カタカナの書込みが出来ませんので、
""内のムを半角カタカナにしてください。
著作権者の許可を得ていないため削除。
著作権者の許可を得ていないため削除。
おはようございます。だめですか、残念。 当方では以下のようになります。(スペースを反映するにチェックで送信) コマンド: コマンド: コマンド: _shademode 現在のモード: 3D ワイヤフレーム オプションを入力 [2D ワイヤフレーム(2D)/3D ワイヤフレーム(3D)/隠線処理モード(H)/フラット(F)/グーロー(G)/フラット+エッジ(L)/グーロー+エッジ(O)] <3D ワイヤフレーム>: コマンド: _shademode 現在のモード: 3D ワイヤフレーム オプションを入力 [2D ワイヤフレーム(2D)/3D ワイヤフレーム(3D)/隠線処理モード(H)/フラット(F)/グーロー(G)/フラット+エッジ(L)/グーロー+エッジ(O)] <3D ワイヤフレーム>: L コマンド: コマンド: フラットシェーディング+エッジ表示にしました PC(画面サイズ?)によってコマンド表示の折返し位置が違うようです。 私の場合では、lastpromptは”ワイヤフレーム>:”となるので、 $(strlen,$(getvar,lastprompt))=$(strlen,"ワイヤフレーム>:")=9となります。 代入すると、 $(eq,$(substr,$(getvar,lastprompt),$(-,$(strlen,$(getvar,lastprompt)),2),1),"ム") =$(eq,$(substr,$(getvar,lastprompt),$(-,$(strlen,"ワイヤフレーム>:"),2),1),"ム") =$(eq,$(substr,$(getvar,lastprompt),$(-,9,2),1),"ム") =$(eq,$(substr,$(getvar,lastprompt),7,1),"ム") =$(eq,$(substr,"ワイヤフレーム>:",7,1),"ム") =$(eq,"ム","ム") =1 よって $(if,1,_shademode;L;^Cフラットシェーディング+エッジ表示にしました,_shademode;3D;^C3Dワイヤフレームにしました)^C =_shademode;L;^Cフラットシェーディング+エッジ表示にしました となっているはずです。 オリバー君さんご指摘の内容ですと $(eq,"ム","ム")ではなくて $(eq,"","ム")となってしまうと思うのですが・・・? げんちゃんさんの場合lastpromptは、”グーロー+エッジ(O)] <3D ワイヤフレーム>:”なので、 $(strlen,$(getvar,lastprompt))は、 $(strlen,"グーロー+エッジ(O)] <3D ワイヤフレーム>:")=28になると思います。 お手数ですが、以下のマクロの結果を書込んでいただけないでしょうか? ^C^C_shademode;;$M=$(getvar,lastprompt); 長文すいませんでした。 |
当方では、Land Development Desktop
R2(2000ベース)で確認しています。
2004と2000では、lastpromptの返す値が違うのでしょうか?
著作権者の許可を得ていないため削除。
著作権者の許可を得ていないため削除。
著作権者の許可を得ていないため削除。
いろいろ書きすぎて、とまどわせたみたいですね。
以下のマクロの結果を、前回同様に書込んでいただけないでしょうか?
^C^C_shademode;;$M=$(getvar,lastprompt);
登録したボタン、私も毎回消えています。
オリバー君さんの書かれたとおり、半角カタカナがだめみたいですね。
直接メニューファイルに書込んでもだめでした。
たぶんですが・・・げんちゃんさんのPCなら対応できそうですので、
上記マクロの結果をみて、マクロを修正します。
マクロの結果ですが、
カタカナの全角・半角の種別も書込んでください。