乐筑天下

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

[编程交流] Lisp测量路径-修改

[复制链接]

34

主题

123

帖子

90

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2022-7-6 07:29:12 | 显示全部楼层 |阅读模式
我正在使用下面的代码来测量和跟踪一条路径,它是有效的。
我通常使用它沿着具有相同起点的路径测量点。
 
当我测量连续路径时,起点和大多数初始点是相同的。路径仅在最后几段不同。
 
所以我需要修改它来做到这一点:
 
1.当我重新启动lisp(C:res)时,它应该从(先前测量的)最后一个点开始沿着相同的路径开始测量。
2、按下左箭头键,我可以沿着上一条路径后退。
3.按下向右箭头,我可以沿着路径一直前进到最后一个点,并允许继续测量。
 
4、返回总距离。
 
我被困在如何“通信”和等待左/右箭头键盘用户输入。
 
感谢所有帮助。
(以下大部分代码来自李)
 
  1. (defun c:mes (/ DLST PT PTLST) ;
  2. (if (car
  3. (setq ptLst (list (getpoint "\nSpecify First Point: ")))
  4.      )
  5.    (progn
  6.      (setq q1 (car ptlst))
  7.      (while (setq pt (getpoint "\nSpecify Next Point: " (car ptLst)))
  8.              (mapcar
  9.   (function
  10.     (lambda (from to)
  11.       (grdraw from to 3 1)
  12.     )
  13.   )
  14.   (reverse (setq ptLst (cons pt ptLst)))
  15.   (cdr (reverse ptLst))
  16. )
  17. (setq dLst
  18.        (cons (distance (car ptlst) (cadr ptlst)) dLst)
  19. )                                ; change the value
  20. (princ
  21.   (strcat "\n<< Distance: "
  22.           (rtos (car dLst) 2 2)
  23.           " -- "
  24.           "Cumulative: "
  25.           (setq d1 (rtos (apply (function +) dLst) 2 2))
  26.           " >>"
  27.   )
  28.   
  29. )
  30.      );while
  31.        (LWPoly ptlst)
  32.       
  33.    );progn                                        ; // added now
  34.    (setq pt (getpoint "\nSpecify Next Point 2 : ")); else
  35.                        
  36. );if
  37. (defun LWPoly (lst)
  38. (entmakex (append (list (cons 0 "LWPOLYLINE")
  39.                          (cons 100 "AcDbEntity")
  40.                          (cons 100 "AcDbPolyline")
  41.                          (cons 90 (length lst))
  42.                          (cons 70 0)) ;cur fit vertices
  43.                   (mapcar (function (lambda (p) (cons 10 p))) lst))))
  44. );defun
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 04:49 , Processed in 0.926685 second(s), 54 queries .

© 2020-2025 乐筑天下

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