izawaLISP

Bricscad V17, V19 にて動作を確認しています。

 ・2020/12/10 ZenKana.lsp Bricscad V20, 21 で動かないのを修正
 ・2020/12/10 ZenNum.lsp Bricscad V20, 21 で動かないのを修正

 ・2019/11/07 SWIRE.lsp 関数 S字配線が直線のときエラーになるのを対策。U字配線で反転を追加
 ・2019/05/07 RIN.lsp 関数 BulgeToArc が不足していたのを追加
 ・2019/05/06 RINX.lsp を追加
 ・2019/05/05 RIN.lsp を追加
 ・2019/04/30 SWIRE の仕様を変更
 ・2019/04/29a SWIRE.lsp、WIRESIZE.lsp を追加
 ・2019/01/04 TXGALP.lsp (subst のパラメータの間違いを修正
 ・2018/12/30 TXCLIP.lsp に ClipBoard の Text クリアを追加
 ・2018/12/29 TXCLIP.lsp を追加
 ・2018/12/27 TX
GALP.lsp を追加
 ・2018/12/23 TXALP.lsp を追加
 ・2018/12/17 GRECT.lsp を追加
 ・2018/12/08 TXCAT、ZENNUM.lsp を追加
 ・2018/12/06 PBAL.lsp を追加


■RINX.lsp 2019.05.06

 RINX : 境界作成コマンド (-BOUNDARY) を使って図形の輪郭を作成します。

 Bricscad V19 以外では試していません。他の CAD で使う場合はご注意を。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■RIN.lsp 2002.10.18

 2019/05/07 BulgeToArc が不足していたのを追加
 2019/05/06 kage.lsp より関係部分を抜き出し

 RIN : 図形(ARC, CIRCLE, LINE, LWPOLYLINE)の輪郭を作成します.

 
 
 かなり古いLISPです。
 今となっては、何がどうなのか良く分かりませんが、すべての図形をぶつ切り線分にして、
 左回りに注目点を基準にして1つ前の点、次の検索点の3点の内角が一番小さい線分の端点を追っていく。
 ・・・のようなことをしているようです。

 円、円弧は微小線分に変換しています。
 たぶん円、円弧も含めてそれぞれの交点でぶつ切り円弧にすれば、上の追い方で輪郭が取れるのだと思いますが、
 試してはいません。

 -BOUNDARY を使ったほうがスマートですね。←作成してみました。(2019/05/06)

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■SWIRE.lsp 2019.04.30~2019.11.07

 ・2019/11/07 SWIRE.lsp 関数 S字配線が直線のときエラーになるのを対策。U字配線で反転を追加

 SWIRE : 最小曲がり半径で S字、L字、U字 配線を描きます。
 ・縦書きを想定しています。
 ・S字は2点間で緩やかなS字を作成します。作成不可の時は始点を基準に最小半径で作成します。
  作成不可の2点を指示すると、最小半径のS字が作成されます。
 ・作成できるのは、S, L, U のパーツごとです。端点の延長は手動で行ってください。

 SWINFO : 作成した SWIRE の情報 (XDATA) を表示、記入します。

  



 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■WireSize.lsp 2019.04.29a

 WIRESIZE : 展開接続図の配線(LINE)に電線サイズを記入します。
 CDSIZE : RECTANGLE のサイズを記入します。



 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■TXCLIP.lsp 2018.12.30

 
2021/03/15
 
Bricscad ですが、(dos_clipboard [string]) という標準関数があることを知りました。
 そちらを使った方が簡単ですね。


 クリップボードを使った LISP です。下記のコマンドが利用できます。
 うまく使うとエクセルとのやり取りが容易に行えます。
 ※ClipBoard の Text クリアを追加 (2018/12/30)

 TxClip : 選択した文字列をクリップボードにコピー
 TxPaste : クリップボードの文字列を TEXT で作成、区切り線を作成
 TxGClip : 表組の文字列をクリップボードにコピー
 TxGPaste : クリップボードの文字列を、選択した表組の格子内に配置

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)
 ※AutoLISP でクリップボードを使う関数は、こちらの記事をそのまま使用しています。


■TXGALP.lsp 2018.12.27~2019/01/04

 2019/01/04 (subst '((73 . 2)) ... が間違いだったのを手直し

 TX
GALP:
  線分 (TEXT, LWPOLYLINE) で作成された表の列幅、行高さを変更します。
  文字位置は、左中、中中、右中のいずれかに変更、整列されます。
  線分の格子が基準なので、エクセルの結合セルのような文字位置にはなりません。
  ※画面から外れた文字列は、移動の対象にはなりません。
 TXALP:
  線分 (TEXT, LWPOLYLINE) で囲われた文字列 (TEXT) の位置を一括で変更します。

  文字位置は、左中、中中、右中のいずれかに変更、整列されます。
  エクセルの結合セルのような枠内でも整列されます。


 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)
 下↓のTXALP.lsp の複数文字対応版が含まれています。


■TXALP.lsp 2018.12.23

 線分 (TEXT, LWPOLYLINE) で囲われた文字列 (TEXT) の位置を一括で変更します。
 文字位置は、左中、中中、右中のいずれかに変更されます。
 線分で作成された表内の文字位置の変更に使えます。
 ※文字列の回転角度は、考慮していません。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■GRECT.lsp 2003.2.2

 AutoLISP の GRREAD、GRVECS を使ったのサンプルです。実用性はありません。
  ※ GRREAD : リアルタイムでマウス座標、クリック、キーボード入力が取得する AutoLISP 関数
  ※ GRVECS : 画面上に図形を描画する AutoLISP 関数

 試してみる

 予め適当な斜め線分(角度参照用と配置参照用の2本)を作成しておきます。

 GRECT[Enter]
 |四角の横幅 /C=円 /T=三角:
 100[Enter]を入力します.5
 |縦 :
 50[Enter]を入力します。
 四角形が表示されます。

 |挿入位置を指示 /0~9:基点変更 /S:線分の角度を参照 /X:X軸で反転 /Y:Y軸で反転 /L:線分上 :
 0 キーを押すと、押すごとに基点が変わります。
 1~9 キーは、左下から順に右方向、上方向に基点が変わります。

 S キーを押します。
 |回転角度を参照する線分を指示 :
 参照する線分を指示すると、回転角度が変わります。

 L キーを押します。
 |線上に配置する線分を指示 :
 配置する線分を指示すると、その�線分上に乗ります。
 適当な位置で座標を指示すると、表示位置に作成されます。

 Xキー、Yキーで反転できます。
 基点を 1, 3, 7, 9 にしておくと分かりやすいです。

 [ESC]を押すと、途中でキャンセルできます。

 ダウンロード zipファイル
 ダウンロード lspファイル (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■TXCAT.lsp 2018/12/08

 複数の文字列(TEXT)を結合します。一番左にある文字列に結合され、他の文字列は削除されます。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■ZENNUM.lsp 2018/12/08

 ・2020/12/10 ZenNum.lsp Bricscad V20, 21 で動かないのを修正

 複数の半角英数字、記号を全角に変換します。全角->半角変換は、下↓のほうの ZENKANA.lsp を使用してください。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■PBAL.lsp 2018/12/06

 制御盤パネル面のスイッチ、表示灯等、複数のブロックを縦横で格子状に整列します。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■7seg.lsp 2009

 7SEG : デジタル指示調節計の 7 セグメント LED 文字を作成します。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■BTRIMVX.lsp Ver.1.24 2008/09/27

 ブロックの背景線分をカット、結合するします。
 VisualLISP の IntersectWith、getBoundingBox を使って、BRTIM20.lsp とほぼ同等の機能を提供しています.
 回路設計用 NSQ.lsp では対象のブロックが専用でしたが、汎用ブロックに対してほぼ同等の機能を提供しています.
 NSQ.lsp 同様、選択する図形によって、処理内容が変わります.

 BTR
  ブロックの背景の線分をカット
 BMV
  < BLOCK > ブロックの周囲の線分を結合し、移動後交差する線分をカット
  < LINE > 線分に繋がるブロック、線分を移動
  < TEXT > 文字列を移動
 BCP
  < BLOCK > ブロックを複写し、交差する線分をカット
  < LINE > 線分に繋がるブロック、線分をコピー
  < TEXT > 文字列をコピー
 BCT
  < BLOCK > ブロックに交差する線分を部分削除
  < LINE > 線分を部分削除(交点判断あり)
  < TEXT > 文字列を削除
 BLN
  線分を作成し、それに交差するブロックの背景線分をカット(交点処理付き)
 BLNN
  線分を作成し、それに交差するブロックの背景線分をカット
 BJT
  < BLOCK > ブロックの周囲の線分を結合
 LJT
  < LINE > 複数線分を一括で結合
 BRY
  < LINE > 線分、ブロックの間隔を均一に(機能不十分)
  < BLOCK > 線分、ブロックの間隔を均一に(機能不十分)
 BKP
  指示座標にブロックがあれば削除、無ければ交点シンボルを挿入
 BMX
  複数ブロックのX座標を指示座標に変更
 BMY
  複数ブロックのY座標を指示座標に変更

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■PDIST.lsp 2013/01/12

 CAD 上に現場の写真(制御盤の正面図とか)を張り付けて、寸法を測るLISPです。
 内部で、4点補正を行っています。画像自体はそのままで変わりません。

 CAD上に写真を貼り付け、実際には四角形である部分をポリライン(LWPOLYLINE)で
 左上を始点に右回りで、4点指示し、"C"オプションで閉鎖します。

 PDINIT コマンドを実行し、先に描いたポリラインを選択し、四角形の巾と高さを入力します。
 PDIST コマンドを実行し、2点を指示すると、2点間の距離と偏差が表示されます。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■PLEM.lsp 2015/08/31

 ポリライン ( LWPOLYLINE ) の直線部分を移動します。
 直線部分の座標を変更しているだけなので、直線部分が交差するように移動したとき、
 円弧は正しく追従しません。

 PLEM : ポリライン ( LWPolyline ) の直線部分を移動します。
 PLEJ : 2つのポリライン ( LWPolyline ) の直線部分を結合します。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■SCXY.lsp 2009/04/02

 SCXY : 選択図形のX尺度、Y尺度を変えます。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■TEXCEL.lsp 2008/12/09

 TEXCEL : 表形式の文字列を編集します。
 編集する列数を入力。スタートの左上文字列を選択します。
 指定した回数だけ横 (X) 方向に文字列を検索し、編集します。
 一行の編集が終わると、スタート位置の下 (-Y) 方向の文字列を検索し、編集します。

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■TXUP.lsp 2011/03/14

 TXUP : 数字を含んだ文字列をカウントアップしながらコピー
 TXRP : 文字列置換 (検索文字列:ex "A*"=先頭一致 "A"=部分一致 "*A"=末尾一致)
 TXPLS : 数字を含んだ文字列を加算、減算
 TXPLS2 : 数字を含んだ文字列を加算、減算 (+、±、- の符号対応版)

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■ZENKANA.lsp 2010/03/21
 ・2020/12/10 Bricscad V20,21 で動かないのを修正しました。

 ZenKana : 半角カタカナを全角に変換
 HanSuji : 全角数字を半角に変換
 HanDai : 数字、アルファベットを含む代替文字を半角に変換
 ZenToHan : 数字、アルファベットだけを半角に変換

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■USO_TOOL.lsp 2009/04/11

 等角図(等測投影図)作成支援LISP

 IsoMak : 選択図形を等角図(等測投影図)に変換
 IsoDim : 寸法作成
 IsoCir : 等角円を作成
 IsoArc : 等角円弧を作成
 IsoArQ : 1/4 等角円弧を指示したコーナーに作成
 IsoBegin : 等角図モード開始.等角図用の文字スタイル、寸法スタイルの作成
 IsoEnd : 等角図モード終了.グローバル変数の解放(初期化)


 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)


■USOX.lsp 2010/01/23

 USOX : 選択した図形を任意の角度の不等角図に変換します.

 ダウンロード (右クリックで 「対象をファイルに保存」 してください。拡張子が変わった場合は、.lsp に変えて下さい)