;;;;程式名稱:物件水平對齊程式
;;執行命令:txtal
;;程式功能:將選定的物件左對齊、右對齊或對中。
;;(defun c:txtal(/selobjs oldcmdecho) ;定義命令txtal,區域性變數selobjs,oldcmdecho;
(setq oldcmdecho (getvar
"cmdecho
")) ;oldcmdecho 儲存命令回顯模式
(setvar
"cmdecho"0
) ;遮蔽提示
(setq selobjs (ssget
'((0 . "text,mtext")))) ;獲取文字物件?todo
(process selobjs) ;處理選中的物件;
(setvar
"cmdecho
"oldcmdecho) ;設定命令回顯模式
(princ) ;todo?
)(defun process (selobjs /amode apnt apnt_x
apnt_y count objname vlaxobj minpoint
maxpoint minext maxext ext_l ext_r
ext_m tpnt
) ;; amode 對齊模式;apnt 對齊點;apnt_x 對齊點x座標
;; apnt_y 對起點y座標;count 計數器;
;; objname 獲取圖元名稱 vlaxobj vla物件名
(initget
"l m r")
(setq amode (getkword "
\n選擇對齊方式《左對齊(l)/居中(m)/右對齊(r)>《左對齊》:")
) (
if (not
amode)
(setq amode "l
")) (initget 1)
(setq apnt (getpoint
"\n選擇水平對齊方向的對齊點:"))
(setq apnt_x (car apnt)
apnt_y (cadr apnt)
) (vl-load-com)
(setq count 0)
(repeat (sslength selobjs) ;;repeat
此函式可判別每乙個 expr 並重複執行 number 所敘述的次數,
(setq objname (ssname selobjs count)) ;;ssname此函式將返回選擇集 ss 中 index 所代表的圖元名
(setq vlaxobj (vlax-ename->vla-object objname)) ;;將 autolisp 型別的物件名轉換為 vla 物件
(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))
(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))))
(iftpnt
(command
"_move
" objname ""
"non
" tpnt "
non"
apnt)
)(setq count (
1+count))
))
SQL分享 字串左對齊或右對齊顯示
在顯示資料時需要對資料進行美觀化顯示。如左對齊,右對齊。知識點 函式 replicate 以下 是實現如下功能 declare sql varchar 200 需填充的字串 char varchar 4 填充使用的字元 len int 填充後的長度 select sql abc select cha...
c語言的輸出預設的是左對齊還是右對齊
左對齊還是右對齊是在有對齊的需要的時候才有意義的。由於你並沒有指定每個int值輸出的長度,因此int值有多長就會輸出多長,此時沒有討論左對齊或者右對齊的意義。你只有加上 10d的時候 10只是我舉的例子 這時候限定了int值輸出長度為10,而12345這個int值的長度為5,這時候就有左對齊還是右對...
左對齊 右對齊的9X9乘法表01
左對齊 右對齊的9x9乘法表 一 分析 1 可將乘法表視為乙個二維的平面系,橫軸和縱軸各代表乙個乘數,所以共需要兩個變數。3 左對齊時由於橫座標和縱座標都是從1 9進行累加,所以可以用兩次迴圈語句。右對齊時由於需要控制空格的數量所以需要多加乙個迴圈,共需三個迴圈結構。2 對齊方式 每個乘式之間用製表...