autolisp 構文

目次

ブロック名を検索

(Setq ss(Ssget “_X” ‘((2 . “BlockName”))))

ファイルパス

(Setq FilePath(Strcat (Getvar “DwgPrefix”) (Getvar “DwgName”)))

ファイル名のみ取得 拡張子なし

(Setq FilePath(Strcat (Getvar “DwgPrefix”) (Getvar “DwgName”)))
(Setq FileBaseName(vl-filename-base FilePath))

フォルダパス(ディレクトリパス)

(Setq FilePath(Strcat (Getvar “DwgPrefix”) (Getvar “DwgName”)))
(Setq DirPath(vl-filename-directory FilePath))

変換

atof  文字列を実数に変換します。
atoi  文字列を整数に変換します。
itoa  整数を文字列に変換して返します。
fix   実数の小数点以下を切り捨てて整数に変換して返します。
float 数値を実数に変換して返します。
rtos  数値を文字列に変換します。

文字列位置検索

(Setq stpos(vl-string-position (ascii “z”) “azbdc”))

日時取得

(Setq date (rtos (getvar “cdate”) 2 6)
            yr (substr date 1 4)
            mo (substr date 5 2)
            da (substr date 7 2)
          hour (substr date 10 2)
           min (substr date 12 2)
           sec (substr date 14 2)
    )
    (Setq tdnow(strcat yr mo da hour min sec))

配列からIndexを取得

(setq sIndex(vl-position “a” (list “a” “b”)))