乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: potencjalek

[编程交流] lisp中的trim方法

[复制链接]

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 00:40:56 | 显示全部楼层
回复

使用道具 举报

34

主题

174

帖子

60

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
257
发表于 2022-7-6 00:48:03 | 显示全部楼层
Try this:
  1. (defun c:ltr (/ CMDECHO F3 OS F8 OTH P1 LOOP GR P2 DP SE2 SE1 N K EN ENL)  (defun *error* (s)   (princ s)   (setvar 'cmdecho cmdecho)   (setvar 'osmode os)   (setvar 'ORTHOMODE oth)   ) (setq cmdecho (getvar 'cmdecho)) (setq f3 (getvar 'osmode) os f3) (setq f8 (getvar 'ORTHOMODE) oth f8) (setvar 'cmdecho 0)   (initget 7) (setq p1 (getpoint "\nFirst point:")) (setq loop t) (while loop   (setq gr (grread t 15))   (redraw)   (cond     ((= 5 (car gr)) (setq p2 (cadr gr)) (if (= 1 f8)   (progn     (setq       dp (mapcar '-                  (apply 'mapcar (cons 'max (list p1 p2)))                  (apply 'mapcar (cons 'min (list p1 p2)))          )     )     (if (> (car dp) (cadr dp))       (setq p2 (list (car p2) (cadr p1)))       (setq p2 (list (car p1) (cadr p2)))       )     )   )      (grdraw p1 p2 1 -1)      )     ((= 3 (car gr))      (setq loop nil)      (setq p2 (cadr (grread t 15)))      (if (= 1 f8)   (progn     (setq       dp (mapcar '-                  (apply 'mapcar (cons 'max (list p1 p2)))                  (apply 'mapcar (cons 'min (list p1 p2)))          )     )     (if (> (car dp) (cadr dp))       (setq p2 (list (car p2) (cadr p1)))       (setq p2 (list (car p1) (cadr p2)))       )     )   )      )     ((equal gr '(2 6));            (if (< f3  16384)              (progn (setq f3 (+ f3 16384))(prompt "\n"))              (progn (setq f3 (- f3 16384))(prompt "\n"))             )          (setvar "OSMODE" f3)         )                 ((equal gr '(2 15));           (if (= f8 0)              (progn(setq f8 1)(prompt "\n"))              (progn(setq f8 0)(prompt "\n"))             )         (setvar "orthomode" f8)         )     )   ) (setq se2 (ssget "f" (list p1 p2))) (if (null se2) (abcdefg)) (command "line" "non" p1 "non" p2 "") (setq se1 (entlast)) (grdraw p1 p2 1 -1) (initget 7 "  ") (setq p1 (getpoint "\nWhich side trim?:")) (if (= "" p1) (abcdefg)) (setq n (sslength se2) k 0) (repeat n   (progn     (setq en (ssname se2 k)          enl (list en p1)          )     (command "trim" se1 "" enl "")      (setq k (1+ k))     )   ) (entdel se1) (redraw) (setvar 'cmdecho cmdecho)   (setvar 'osmode os)   (setvar 'ORTHOMODE oth) (princ) )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 21:08 , Processed in 1.187477 second(s), 54 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表