;;
;;程序名称:对象水平对齐程序,并且按照竖直方向排列
;;执行命令:tb2
;;程序功能:将选定的对象左对齐,并且按照竖直方向排列。
;;
(defun c:tb2(/ selobjs oldcmdecho) ;定义命令txtal,局部变量selobjs,oldcmdecho;(setq oldcmdecho (getvar "cmdecho")) ;oldcmdecho 存储命令回显模式(setvar "cmdecho" 0) ;屏蔽提示(setq selobjs (ssget ' ((0 . "TEXT,MTEXT")))) ;获取文字对象?todo
  (process2 selobjs) ;处理选中的对象;(setvar "cmdecho" oldcmdecho) ;设置命令回显模式(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 对齐模式;apnt 对齐点;apnt_x 对齐点x坐标;; apnt_y 对起点y坐标;count 计数器;;; objname 获取图元名称 vlaxobj vla对象名;; ext_y 原来的y坐标; old_y 上一个y坐标;; countp 迁移位置的个数; lstp 所有的x坐标集合;; n lstp 中的一个变量;is_del 是否删除了改对象(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)(setq countp 0) (setq old_y 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))(setq ext_y (cadr minext)) ;获取y坐标(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  ;看看是否需要删除对象(if (> 4 (abs (- n ext_y)));如果4大于间距则进行删除;(if (= is_del 1) ;只需要删除一次(progn (setq is_del 2)(command "_erase" objname "") ;删除对象(print "delete object"))))))(print "++++++++++")(print objname)(print is_del)(if (=  is_del 1) ;;如果没有删除对象(progn  ;移动对象(setq tpnt (list ext_l ext_y));设置原来点坐标(print tpnt)(setq apnt (list apnt_x (- apnt_y  (* 600 countp))));设置目标点(print apnt)(if tpnt (command "_move" objname "" "non" tpnt "non" apnt))(setq countp (1+ countp)))) ;end if (setq old_y ext_y) ;再一次设置old_y(setq count (1+ count)))
)

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

  1. CSS盒子模型和水平、竖直方向的布局

    一.块元素.行内元素和行内块元素 行内元素特征: (1)设置宽高无效 (2)对margin仅设置左右方向有效,上下无效:padding设置上下左右都有效,即会撑大空间 (3)不会自动进行换行 块状元素 ...

  2. CSS | DIV 水平和竖直方向居中

    1.竖直方向: 最近做个小页面遇到了点麻烦:需要设置元素的竖直方向居中. 以往的经验: display: inline-block; vertical-align: middle; 就可以解决.但是这 ...

  3. android 动画x轴旋转,Android Roate3dAnimation实现围绕y轴竖直方向或者绕x轴方向旋转的3d动画效果...

    概要: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Roate3dAnim ...

  4. Stata绘图:唯美的函数图-自定义水平附加线和竖直附加线

    全文阅读:Stata绘图:唯美的函数图-自定义水平附加线和竖直附加线| 连享会主页 . 简介   本文 dofiles 下载: 连享会 / 实证分析可视化 → -本文 dofiles-   绘制图形时 ...

  5. 实现图片沿水平和竖直方向翻转(旋转180度)

    相机旋转180度,为了不改变原有的算法,最好的方法是将图片旋转180,这样就和之前拍摄的图片一致了.最先想到的方法是在basler相机中设置,但只找到了ReverseX,不满足要求. 查阅左飞的图像处 ...

  6. Matlab绘图手动修改subplot之间的竖直方向间距

    分两种Matlab版本,R2018b以前的和以后的 1.R2018b以前的需要手动调整 %针对某一个plot举例ax1=subplot(3,4,5);%先获取位置数据pos1=get(ax1,'Pos ...

  7. css设置按钮竖直方向居中_如何借助伪元素实现垂直居中?

    点击右上方红色按钮关注"小郑搞码事",每天都能学到知识,搞懂一个问题! 今天给大家讲一种实现垂直居中的方法:伪元素法(::before/::after) 一.vertical-al ...

  8. css设置按钮竖直方向居中_前端设计师必须知道的10个重要的CSS技巧

    对于一个初入门的前端设计师,在设计修改网站前端的时候,我们需要编写一些CSS.JS的内容达到界面效果.今天分享10个对于前端设计师来说重要的CSS技巧,这也是我在给许多客户做网站的过程当中总结出来的. ...

  9. 【LaTeX应用】画图,上面一个图形,下面两个图形,竖直方向居中

    如图所示,在上面有一个矩形框,下面两个矩形框,如何让上面矩形框居中,下面矩形框也居中? 采用一种比较讨巧的方式实现:在上面矩形框的下面定义一个无内容的空矩形框,然后下面两个矩形框在这个空矩形框的基础上 ...

最新文章

  1. Nature:植物叶际微生物组稳态维持机制
  2. pycharm 链接wsl和 wsl 配置cuda nvidia
  3. SVG关注复杂图形的网页绘制技术
  4. 利用aircrack-ng工具获取附近wifi的密码
  5. 正弦定理和余弦定理_苏州市高一数学(正弦定理与余弦定理)线上教育学案
  6. NodeMCU学习(三) : 进入网络世界
  7. 最大最完整的---NAG Fortran 算法库
  8. 浮动在IE6,7下的一些问题
  9. 护肤品APP界面设计模板,可以临摹的UI好素材
  10. (紫书,感谢作者)第7章暴力求解法
  11. 【心电信号】基于matlab自适应滤波算法胎儿心电信号提取【含Matlab源码 953期】
  12. vue ,solt 插值组件新内容
  13. 手把手教你快速搭建Struts2框架【详细教程,建议收藏】
  14. gcj编译java_怎样用gcj编译java程序
  15. 音频处理——G711标准详解
  16. 网易2017实习生招聘面试经历
  17. 三星健身服务器无响应 怎么办,三星携手UA健身APP、强化创新型可穿戴设备
  18. 2020最后一天 || 时间相关单光子计数技术的原理和优点
  19. SDN的深入思考(1):SDN的核心本质到底是什么?
  20. 查看华三交换机设备信息命令

热门文章

  1. 5G NR Search space和CORESET
  2. winCVS 使用方法
  3. excel转成csv格式的默认分隔符
  4. ThreadPoolExecuotor源码参考
  5. Maven 进行多环境配置,使用profile文件进行配置
  6. 原型设计20条军规(转)
  7. 一个一直没想通的问题:为什么印度的软件外包能比中国强那么多?这应该是中国人的强项啊...
  8. Entity Framework 6 Alpha 3为Code First提供对存储过程支持,并提供连接恢复功能
  9. es6 的数组的方法
  10. step1 . day4 C语言基础练习之日历