明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: zhynt

[基础] 基于纯lisp编制的智能修剪程序

    [复制链接]
发表于 2011-12-26 10:47 | 显示全部楼层
好程序 可惜没钱 回复挣个小钱吧  
发表于 2011-12-29 01:34 | 显示全部楼层
没钱的日子很难过啊
发表于 2012-1-8 18:23 | 显示全部楼层
支持楼主
发表于 2012-1-9 02:06 | 显示全部楼层
好程序,支持楼主
发表于 2012-1-9 13:19 | 显示全部楼层
还不错。
可能不好控制吧
发表于 2012-1-15 12:10 | 显示全部楼层
这段代码可以使用楼主演示的第一张图
  1. (defun c:cj()

  2.     (setvar "cmdecho" 0)
  3.     (setq selnum (getvar "osmode"))
  4.     (setvar "osmode" 0)
  5.     (setq cly (getvar "clayer"))
  6.     (setq tb (tblsearch "LAYER" "ZTEMP"))
  7.     (if (= tb nil)(command "layer" "m" "ZTEMP" "c" 7 "ZTEMP" ""))
  8.     (setq tb (tblsearch "LAYER" "ZZTEMP"))
  9.     (if (= tb nil)(command "layer" "m" "ZZTEMP" "c" 7 "ZZTEMP" ""))


  10.     (setq p1 (getpoint "\nFirst corner:"))
  11.     (setq p2 (getcorner p1 "\nSecond corner:"))

  12.     (setq ss (ssget "c" p1 p2 '((0 . "LINE"))))
  13.     (setq ename (ssname ss 0))
  14.     (setq endata (entget ename))
  15.     (setq oldlay (cdr (assoc 8 endata)))
  16.     (command "chprop" ss "" "la" "ZTEMP" "")

  17. (if (= (sslength ss) 4)
  18.   (progn   
  19.     (setq i 0)
  20.     (repeat (sslength ss)

  21.       (setq ename (ssname ss i))
  22.       (command "chprop" ename "" "la" "ZZTEMP" "")   
  23.       (setq endata (entget ename))
  24.       (setq pt1 (cdr (assoc 10 endata)))
  25.       (setq pt2 (cdr (assoc 11 endata)))
  26.       
  27.       (setq ppf (list pt1 pt2))
  28.       (setq ssk (ssget "F" ppf))
  29.       (setq ssp (ssget "P" '((8 . "ZTEMP"))))
  30. ;(print (sslength SSP))
  31.         (if (= (sslength ssp) 2)
  32.             (progn      
  33.                  (setq enamel (ssname ssp 0))
  34.                  (setq endata (entget enamel))
  35.                  (setq ptr11 (cdr (assoc 10 endata)))
  36.                  (setq ptr12 (cdr (assoc 11 endata)))
  37.                  (setq ptrim1 (inters pt1 pt2 ptr11 ptr12 nil))
  38.                  (setq enamel (ssname ssp 1))
  39.                  (setq endata (entget enamel))
  40.                  (setq ptr21 (cdr (assoc 10 endata)))
  41.                  (setq ptr22 (cdr (assoc 11 endata)))
  42.                  (setq ptrim2 (inters pt1 pt2 ptr21 ptr22 nil))
  43.            (command "break" ename ptrim1 ptrim2)
  44.            (setq ssz (ssget "X" '((8 . "ZZTEMP"))))
  45.            (command "chprop" ssz "" "la" "ZTEMP" "")
  46.              )   
  47.         )   

  48.       (setq i (+ i 1))
  49.       
  50.     )
  51.       
  52.   )  
  53. )
  54.     (setq ssz (ssget "X" '((8 . "ZTEMP"))))
  55.     (command "chprop" ssz "" "la" oldlay "")
  56.     (setvar "osmode" selnum)
  57.     (setvar "clayer" cly)
  58. (prin1)
  59. )
  60. (prin1)

发表于 2012-1-16 10:58 | 显示全部楼层
coco25825 发表于 2012-1-15 12:10
这段代码可以使用楼主演示的第一张图

命令:  CJ
First corner:
Second corner:; 错误: 参数类型错误: lselsetp nil
发表于 2012-1-16 21:45 | 显示全部楼层

没反应啊!

本帖最后由 yjycad 于 2012-1-16 21:48 编辑

朋友没反应啊,怎么回事啊?最后二个明经币了别浪费了啊!

本帖子中包含更多资源

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

x
发表于 2012-1-16 21:54 | 显示全部楼层
经测试多线PL没用,只能用直线L
发表于 2012-1-27 12:00 | 显示全部楼层
照顾穷人吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-11 21:19 , Processed in 0.127532 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表