日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

对象水平对齐,并且按照竖直方向排列

發(fā)布時(shí)間:2024/4/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对象水平对齐,并且按照竖直方向排列 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
;; ;;程序名稱(chēng):對(duì)象水平對(duì)齊程序,并且按照豎直方向排列 ;;執(zhí)行命令:tb2 ;;程序功能:將選定的對(duì)象左對(duì)齊,并且按照豎直方向排列。 ;; (defun c:tb2(/ selobjs oldcmdecho) ;定義命令txtal,局部變量selobjs,oldcmdecho;(setq oldcmdecho (getvar "cmdecho")) ;oldcmdecho 存儲(chǔ)命令回顯模式(setvar "cmdecho" 0) ;屏蔽提示(setq selobjs (ssget ' ((0 . "TEXT,MTEXT")))) ;獲取文字對(duì)象?todo (process2 selobjs) ;處理選中的對(duì)象;(setvar "cmdecho" oldcmdecho) ;設(shè)置命令回顯模式(princ) ;todo? ) (defun process2 (selobjs / amode apnt apnt_xapnt_y count objname vlaxobj MinPointMaxPoint minext maxext ext_l ext_rext_m tpnt ext_y old_y countp lstp n is_del) ;; amode 對(duì)齊模式;apnt 對(duì)齊點(diǎn);apnt_x 對(duì)齊點(diǎn)x坐標(biāo);; apnt_y 對(duì)起點(diǎn)y坐標(biāo);count 計(jì)數(shù)器;;; objname 獲取圖元名稱(chēng) vlaxobj vla對(duì)象名;; ext_y 原來(lái)的y坐標(biāo); old_y 上一個(gè)y坐標(biāo);; countp 遷移位置的個(gè)數(shù); lstp 所有的x坐標(biāo)集合;; n lstp 中的一個(gè)變量;is_del 是否刪除了改對(duì)象(if (not amode)(setq amode "L"))(initget 1)(setq apnt (getpoint "\n選擇水平對(duì)齊方向的對(duì)齊點(diǎn):"))(setq apnt_x (car apnt)apnt_y (cadr apnt))(vl-load-com)(setq count 0)(setq countp 0) (setq old_y 0) ;初始化一個(gè)值(repeat (sslength selobjs) ;;repeat 此函數(shù)可判別每一個(gè) expr 并重復(fù)執(zhí)行 number 所敘述的次數(shù),(setq objname (ssname selobjs count)) ;;ssname此函數(shù)將返回選擇集 ss 中 index 所代表的圖元名(setq vlaxobj (vlax-ename->vla-object objname)) ;;將 AutoLISP 類(lèi)型的對(duì)象名轉(zhuǎn)換為 VLA 對(duì)象(setq MinPoint (vlax-make-variant)) (setq MaxPoint (vlax-make-variant))(vla-GetBoundingBox vlaxobj 'MinPoint 'MaxPoint)(setq minext (vlax-safearray->list MinPoint))(setq maxext (vlax-safearray->list MaxPoint))(setq ext_l (car minext))(setq ext_r (car maxext))(setq ext_m (+ (/ (abs (- ext_l ext_r)) 2) ext_l))(setq ext_y (cadr minext)) ;獲取y坐標(biāo)(cond((= amode "L")(setq tpnt (list ext_l apnt_y)))((= amode "M")(setq tpnt (list ext_m apnt_y)))((= amode "R")(setq tpnt (list ext_r apnt_y))))(print old_y)(print ext_l)(print "=======")(setq lstp (cons old_y lstp))(print lstp)(setq is_del 1)(foreach n lstp (progn ;看看是否需要?jiǎng)h除對(duì)象(if (> 4 (abs (- n ext_y)));如果4大于間距則進(jìn)行刪除;(if (= is_del 1) ;只需要?jiǎng)h除一次(progn (setq is_del 2)(command "_erase" objname "") ;刪除對(duì)象(print "delete object"))))))(print "++++++++++")(print objname)(print is_del)(if (= is_del 1) ;;如果沒(méi)有刪除對(duì)象(progn ;移動(dòng)對(duì)象(setq tpnt (list ext_l ext_y));設(shè)置原來(lái)點(diǎn)坐標(biāo)(print tpnt)(setq apnt (list apnt_x (- apnt_y (* 600 countp))));設(shè)置目標(biāo)點(diǎn)(print apnt)(if tpnt (command "_move" objname "" "non" tpnt "non" apnt))(setq countp (1+ countp)))) ;end if (setq old_y ext_y) ;再一次設(shè)置old_y(setq count (1+ count))) )

?

總結(jié)

以上是生活随笔為你收集整理的对象水平对齐,并且按照竖直方向排列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。