Rumah  >  Artikel  >  tutorial komputer  >  pengubahsuaian skrip cad lisp

pengubahsuaian skrip cad lisp

王林
王林ke hadapan
2024-01-12 14:15:051151semak imbas

pengubahsuaian skrip cad lisp

(DEFUN C:J()

(PRINC "nSila pilih anotasi untuk digabungkan:)")

(Set pemilihan SETQ S (SSGET '((0 . "DIMENSI"))) m 0) ialah kod LISP yang digunakan untuk memilih semua jenis primitif "DIMENSI" dalam AutoCAD dan menyimpan hasil pemilihan dalam S Pilih untuk fokus . Tujuan kod ini adalah untuk mendapatkan semua objek dimensi.

T bilangan anotasi (set pemilihan S panjang pendek) ZS jumlah nombor dan 0 T anotasi sejajar 0). Dalam ayat ini, T mewakili bilangan butiran yang tidak konsisten dengan era Bilangan elemen dalam set pemilihan S boleh dikira melalui fungsi sslength 0 mewakili anotasi tidak sejajar mewakili mereka yang tidak konsisten dengan era Berapa banyak butiran yang ditanda dengan betul?

(sambil(

"(setq a (entget (set pemilihan nama S m)) m (1+ m))" Baris kod ini ialah ungkapan dalam bahasa Lisp, digunakan untuk mendapatkan atribut unsur ke-m dalam set pemilihan S , dan Tambah 1 pada nilai m.

(jika (ahli (cdr (bersekutu 70 a))) '(1 33 129 161)))

(setq jumlah jumlah ZS (+ (cdr (bersekutu 42 a)) jumlah jumlah ZS)) Baris kod ini ialah ungkapan dalam bahasa LISP Fungsinya adalah untuk mengemas kini nilai jumlah pembolehubah ZS kepada nilai semasa ditambah dengan nilai yang dikaitkan dengan kunci 42 dalam senarai a. Sebelum melaksanakan baris kod ini, anda perlu memastikan bahawa jumlah pembolehubah ZS jumlah dan senarai a telah ditakrifkan dan diberikan nilai yang betul. Melalui baris kod ini, kami boleh mengemas kini jumlah ZS secara dinamik.

Anotasi Penjajaran T (Anotasi Penjajaran 1+ T)))

)

. ."))

);TAMAT DEFUN

Pembangunan sekunder CAD dan pengubahsuaian LISP

(defun c:dz (/ oce1 n1 zn h1 sxh1 p1)

(vl-load-com)

(setq oce1 (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setq ms (vla-get-modelspace

(vla-get-activedocument (vlax-get-acad-object)) ialah kod AutoLISP yang digunakan untuk mendapatkan dokumen AutoCAD yang sedang aktif. Ia memperoleh objek aplikasi AutoCAD melalui fungsi vlax-get-acad-object, dan kemudian memperoleh objek dokumen yang sedang aktif menggunakan kaedah vla-get-activedocument. Kod ini boleh digunakan dalam AutoCAD untuk mengendalikan dokumen yang sedang dibuka dalam program.

)

)

(jika qz

()

(setq qz "")

)

(jika hz

()

(setq hz "")

)

(initget "c")

(setq nqz (getstring (strcat "nSila masukkan awalan

/c (kosong): " )))

(cond

((= nqz "c") (setq qz ""”))

(T (jika (/= nqz "")(setq qz nqz)))

)

(setq hz "")

(jika (tidak (setq n1 (getint "nSila masukkan nombor urutan permulaan

: "))))

(setq n1 1)

)

(setq zn 1)

(jika (tidak (setq h1 (getreal "nSila nyatakan ketinggian teks

: ")))

(setq h1 2.5)

)

(setq sxh1 (strcat qz (itoa n1) hz)) ialah sekeping kod Lisp Fungsinya adalah untuk menggabungkan tiga rentetan untuk membentuk rentetan baharu. Antaranya, qz, n1 dan hz ialah pembolehubah, masing-masing mewakili awalan, nombor dan akhiran. Dengan menggunakan fungsi strcat dan fungsi itoa, kita boleh menukar nombor n1 kepada rentetan dan menggabungkan awalan dan akhiran dengannya, akhirnya mendapat rentetan baharu sxh1. Operasi sedemikian boleh dijana dengan mudah dalam pengaturcaraan

(setq p1 (getpoint "nSila nyatakan titik sisipan: "))

(sementara (/= p1 sifar)

(setq p1 (vlax-3d-point p1))

(setq txt (vla-addtext

ms

sxh1

p1

h1

)

)

(setq

n1 (+ n1 zn)

sxh1 (strcat qz (itoa n1) hz)

p1 (getpoint "nSila nyatakan titik sisipan seterusnya:")

)

)

(setvar "cmdecho" oce1)

(vlax-release-object ms)

(putera)

)

Atas ialah kandungan terperinci pengubahsuaian skrip cad lisp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:docexcel.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam