この掲示板は AutoCADマクロ屋本舗 の掲示板です。

【 注意 】最初に必ず ↓↓ 下記内容 ↓↓ を参照ください。
① マクロが分からない方は、まず 【 マクロ講座 】 を参照ください。
② 質問の前に 【 マクロ使用前の注意事項 】 をお読みください。
③ 質問する時は、新規投稿フォーム下の【 新規投稿時のお願い 】を必ずお読みください。

cahmferとfilletのマクロ
AutoCAD LT 2019 使用

chamferとfilletのオブジェクト選択状態での分岐オプションが多数あると思いますが(複数(M)等)
それぞれマクロに組み込んだ際、(複数(U))のように文字がズレてしまいます。

自作マクロは、
コマンド実行直後に数値入力状態→入力Enter後、複数オプション→オブジェクト選択状態(複数)→Enterで数値入力に戻る
といものです。

マクロ内になにか変な部分があるからなのか、仕様なのか、バグなのか、わかりません。

必要でしたら、マクロ文、F2文、貼ります。
原因・対策等わかる方がいましたら、教えて頂きたいです。
よろしくお願いします。
  • BKT
  • 2021/10/14 (Thu) 20:58:08
Re: cahmferとfilletのマクロ
>chamferとfilletのオブジェクト選択状態での分岐オプションが多数あると思いますが(複数(M)等)
>それぞれマクロに組み込んだ際、(複数(U))のように文字がズレてしまいます。

全く質問内容を理解できません。


>自作マクロは、
>コマンド実行直後に数値入力状態→入力Enter後、複数オプション→オブジェクト選択状態(複数)→Enterで数値入力に戻る
>といものです。

こんな事書かれても、意味わからんよ。マクロその物を提示してください。


>必要でしたら、マクロ文、F2文、貼ります。

質問する側の人が情報を出し惜しみする事が理解できません。初めから提示してください。
また、F2文だけでなく、
「どんな状況のオブジェクトに対して、どんな操作を行った結果、F2文の様な履歴になっています。」
といった報告にしてください。
  • Lon
  • 2021/10/15 (Fri) 09:17:35
Re: cahmferとfilletのマクロ
すみませんでした。

通常、filletコマンドを実行すると

コマンド: _fillet
現在の設定: モード = トリム、フィレット半径 = 0.0000
最初のオブジェクトを選択 または [元に戻す(U)/ポリライン(P)/半径(R)/トリム(T)/複数(M)]:

となると思うのですが、
普段使用する際に図面ごとにRが違うので基本毎回"R"を押してR値を入力し、2ヵ所以上にRをつけるので"M"を押してから
一本目選択→二本目選択→一本目選択→二本目選択 としていました。

ここで
*^C^C_fillet;r;\;m;
というマクロを作り実行したところ

通常
最初のオブジェクトを選択 または [元に戻す(U)/ポリライン(P)/半径(R)/トリム(T)/複数(M)]:
となるところが
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]:
と表示され、
複数オプションが使えませんでした。

なので
*^C^C_fillet;r;\;u;
としたところ

------------------------------------------------
コマンド:
コマンド:
コマンド: _fillet

現在の設定: モード = トリム、フィレット半径 = 0.0000
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]: r
フィレット半径を指定 <0.0000>: 5

コマンド:
FILLET

現在の設定: モード = トリム、フィレット半径 = 5.0000
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]: u

最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]:
2 つ目のオブジェクトを選択、または[Shift]を押しながらコーナーを適用、または [半径(R)]:
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]:
2 つ目のオブジェクトを選択、または[Shift]を押しながらコーナーを適用、または [半径(R)]:
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]:
コマンド:
コマンド:
コマンド: _fillet

現在の設定: モード = トリム、フィレット半径 = 5.0000
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]: r
フィレット半径を指定 <5.0000>: 10

コマンド:
FILLET

現在の設定: モード = トリム、フィレット半径 = 10.0000
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]: u

最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]:
2 つ目のオブジェクトを選択、または[Shift]を押しながらコーナーを適用、または [半径(R)]:
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]:
2 つ目のオブジェクトを選択、または[Shift]を押しながらコーナーを適用、または [半径(R)]:
最初のオブジェクトを選択 または [元に戻す(N)/ポリライン(P)/半径(R)/トリム(T)/複数(U)]: *キャンセル*

------------------------------------------------

となり、R値入力から始まり、複数選択、Enterで再びR値入力、と無事動きました。

動いたは動いたんですが
この現象の原因が分からなかった為
投稿した次第です。

以上でわかりますでしょうか?

  • BKT
  • 2021/10/15 (Fri) 09:58:00
Re: cahmferとfilletのマクロ
以下のように変更したら、動くと思うのですが。(R2020で動作確認)

*^C^C^R_fillet;r;\m;

一部のコマンドでは、バージョンが上がる際にオプションが変更される場合があり、コマンドを手入力したときと、マクロ内で使用するときとで、異なる挙動をするものがあります。
filletもその一つで、マクロのときに出てくるコマンドラインは、古いバージョンのものになります。

^Rをつけることで、手入力と同じコマンドラインになります。
  • LUNE
  • 2021/10/15 (Fri) 13:21:36
Re: cahmferとfilletのマクロ
なるほどー
そういうことだったんですね!

面取り版も
*^C^C^R_chamfer;d;\;m;
で無事動きました。

LUNE様
ありがとうございました。
  • BKT
  • 2021/10/15 (Fri) 15:08:06
Re: cahmferとfilletのマクロ
^Rというのは、知りませんでした。
雲マークのコマンドで、マクロを組んだところ、オプションのPやRが使えなかったので、
^Rとすることでできました。
LUNE様 ありがとうございました。
  • どて
  • 2021/10/17 (Sun) 15:55:50

返信フォーム






プレビュー (投稿前に内容を確認)