2021年3月31日水曜日

異尺度注釈図形にアタッチされている尺度を知る

 異尺度注釈図形が持っている尺度(文字列)を表示する


;;;

;;; LISTANNOSCALE.LSP

;;;

(defun C:LISTANNOSCALE ( / el id f)

  (setq f T)

  ;異尺度注釈図形を選択

  (if (setq el (entget (car (entsel "異尺度注釈を選択:"))))

    ;拡張ディクショナリを選択

    (if (setq id (cdr (assoc 360 el)))

      ;AcDbContextDataManagerデータを選択

      (if (setq id (cdr (assoc -1 (dictsearch id "AcDbContextDataManager"))))

        ;ACDBANNOTATIONSCALESデータを選択

        (if (setq id (cdr (assoc -1 (dictsearch id "ACDB_ANNOTATIONSCALES"))))

          ;オブジェクトコンテキストデータを取得

          (while (setq el (dictnext id f))

            (if (setq sl (entget (cdr (assoc 340 el))))

              (princ (strcat (cdr (assoc 300 sl)) ","))

              (princ "\nSCALEがありません")

            )

            (setq f nil)

          )

          (princ "\nAcDbObjectContextDataがありません")

        )

        (princ "\nAcDbContextDataManagerがありません")

      )

      (princ "\n拡張ディクショナリがありません")

    )

    (princ "\n図形選択エラー")

  )

  (princ)   

)


0 件のコメント:

コメントを投稿

異尺度注釈図形にアタッチされている尺度を知る

 異尺度注釈図形が持っている尺度(文字列)を表示する ;;; ;;; LISTANNOSCALE.LSP ;;; (defun C:LISTANNOSCALE ( / el id f)   (setq f T)   ;異尺度注釈図形を選択   (if (setq el (entg...