模具论坛

 找回密码
 注册

扫一扫,微信登录

QQ登录

只需一步,快速开始

搜索
热搜: 冲压 注塑 求助
    回车查看更多
    论坛可能已存在您要发布的主题帖 关闭
      查看: 5736|回复: 6

      [分享] 画中心线的小程序

      [复制链接]
      发表于 2010-11-6 15:31:06 | 显示全部楼层 |阅读模式
      自动画中心线,实用小程序!

      本帖子中包含更多资源

      您需要 登录 才可以下载或查看,没有帐号?注册

      x
      发表于 2011-7-20 21:25:17 | 显示全部楼层

      看起来不错 喜欢 楼主真不错

      看起来不错  喜欢 楼主真不错
      发表于 2011-7-21 20:16:15 | 显示全部楼层
      LZ还有待去完善...
      发表于 2011-7-21 20:19:56 | 显示全部楼层
      LZ还有待去完善,下面是我用的...
      发表于 2011-9-5 13:50:21 | 显示全部楼层
      总共没几行..直接贴贴得了...

      1. ;;*************************;;
      2. ;;CL.lsp:     
      3. ;;Designed by pengliang  ;;
      4. ;;2005.4.21;;
      5. ;;*************************;;

      6. (defun c:cl ()
      7.    (setvar "cmdecho" 0)
      8.    (setq os_old (getvar "osmode"))
      9.    (setq cl_old (getvar "clayer"))
      10.    (setvar "osmode" 0)
      11.    (command "ucs" "")
      12. ;-----------------------------------------------------------------------------------------
      13.    (if (not (tblsearch "layer" "cen"))
      14.        (command "_.layer" "_new" "cen" "_color" "1" "cen" "_ltype" "center" "cen" "")
      15.        (command "_.layer" "thaw" "cen" "on" "cen" "unlock" "cen" "")
      16.    )
      17. ;------------------------------------------------------------------------------------------
      18.   (setq a1 (entsel "\n请选定要画中心线的圆\\圆弧\\直线:"))
      19.   (while (null a1)
      20.        (setq a1 (entsel "\n请选定要画中心线的圆\\圆弧\\直线:"))
      21.   )
      22.   (setq a2 (entget (car a1)))
      23.   (setq l1 (assoc 0 a2))
      24.   (setq l2 (cdr l1))
      25.   (while (and (/= l2 "LINE") (/= l2 "ARC") (/= l2 "CIRCLE"))
      26.          (setq a1 (entsel "\n所选的不是圆\\圆弧\\直线:"))
      27.          (while (null a1)
      28.             (setq a1 (entsel "\n请选定要画中心线的圆\\圆弧\\直线:"))
      29.          )
      30.          (setq pt1 (cadr a1))
      31.          (setq a2 (entget (car a1)))
      32.          (setq l1 (assoc 0 a2))
      33.          (setq l2 (cdr l1))
      34.   )
      35.   (if (or (= l2 "ARC") (= l2 "CIRCLE"))
      36.       (progn
      37.           (setq b1 (cdr (assoc 10 a2)))  ;圆心座标
      38.           (setq b2 (cdr (assoc 40 a2)))  ;圆半径
      39.           (setvar "clayer" "cen")
      40.           (command "line" (list (- (car b1) (* b2 1.2)) (cadr b1)) (strcat "@" (rtos (* b2 2.4))
      41.                           "<0") "")
      42.           (command "array" "l" "" "p" b1 "2" "90" "")
      43.       )
      44.    )
      45.   (if (or (= l2 "LINE"))
      46.       (progn
      47.           (setq a3 (entsel "\n请选定另一直线:"))
      48.           (while (null a3)
      49.                  (setq a3 (entsel "\n请选定另一直线:"))
      50.           )
      51.           (setq a4 (entget (car a3)))
      52.           (setq end1 (cdr (assoc 10 a2)))
      53.           (setq end2 (cdr (assoc 11 a2)))
      54.           (setq end3 (cdr (assoc 10 a4)))
      55.           (setq end4 (cdr (assoc 11 a4)))
      56.           (setq e1 (distance end1 end3))
      57.           (setq e2 (distance end1 end4))
      58.           (if (< e1 e2)
      59.              (progn
      60.               (setq end5 (list (/ (+ (car end1) (car end3)) 2.0) (/ (+ (cadr end1) (cadr end3)) 2.0)))
      61.               (setq end6 (list (/ (+ (car end2) (car end4)) 2.0) (/ (+ (cadr end2) (cadr end4)) 2.0)))
      62.              )
      63.              (progn
      64.               (setq end5 (list (/ (+ (car end1) (car end4)) 2.0) (/ (+ (cadr end1) (cadr end4)) 2.0)))
      65.               (setq end6 (list (/ (+ (car end2) (car end3)) 2.0) (/ (+ (cadr end2) (cadr end3)) 2.0)))
      66.              )
      67.           )
      68.           (setq end5_1 (polar end5 (angle end6 end5) 10))
      69.           (setq end6_1 (polar end6 (angle end5 end6) 10))
      70.           (setvar "clayer" "cen")
      71.           (command "line" end5_1 end6_1 "")
      72.       )
      73.    )
      74.    (setvar "osmode" os_old)
      75.    (setvar "clayer" cl_old)
      76.    (princ)
      77. )
      复制代码
      发表于 2020-9-3 15:57:28 | 显示全部楼层
      能不能写一个自动识别螺丝孔的,,,
      发表于 2022-10-22 22:11:12 | 显示全部楼层
      看起来不错  喜欢 楼主真不错

      您需要登录后才可以回帖 登录 | 注册

      本版积分规则

      关闭

      招聘信息 上一条 /5 下一条

      关闭

      求职信息 上一条 /5 下一条

      关闭

      技术求助 上一条 /5 下一条

      QQ|小黑屋|手机版|模具论坛 ( 浙ICP备15037217号 )

      GMT+8, 2025-6-16 01:39

      Powered by Discuz! X3.4

      © 2001-2013 Comsenz Inc.

      快速回复
      返回顶部
      返回列表
       
      客服电话:0577-61318188
      模具论坛交流群:
      模具论坛交流群
      工作时间:
      08:30-17:30