明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 651|回复: 6

[提问] lisp画角度为什么不能像鼠标一样操作??

[复制链接]
发表于 2019-10-28 22:18 来自手机 | 显示全部楼层 |阅读模式
(command "pline"  p1 p2 "<45")。想画45度角,为什么这一步直接显示函数被取消??末尾加上引号也显示函数被取消。用lisp怎么样写才能像手动输入回车一样的效果?
发表于 2019-10-29 06:40 | 显示全部楼层
本帖最后由 lisperado 于 2019-10-29 06:46 编辑

(command "_pline"  p1 p2 "@10<45 ")

(command "_pline"  p1 p2 "@7.071,7.071")


  1. (defun c:tt ( / stop p1 p2 dg v1 v2 v )
  2.   
  3.   (and

  4.     (setq dg (cond ((getreal "\n请输入角度 <45.0> : ")) (45.0)))
  5.     (setq stop '(nil (while (/= (getvar 'cmdactive) 0) (command)))
  6.              p1   (getpoint "\n第一点.. ")
  7.              )
  8.        (setq p2 (getpoint p1 "\n第二点.. "))
  9.       
  10.        (setq v1 (strcat "@10<" (rtos dg 2)) ;"@10<45.0000"
  11.              v  (polar '(0. 0.) (* (/ dg 180.) pi) 10.0)
  12.              v2 (apply 'strcat (apply 'append (mapcar ''((a b) (list a (rtos b 2))) '("@" ",") v)))
  13.              ) ;"@7.0711,7.0711"
  14.       
  15.        (progn
  16.         (princ )
  17.         (alert (strcat "\n第三点取于长度10.00以及已输入角度如下 \n(command "_pline" p1 p2 "v1")"))
  18.          (command "_pline" p1 p2 v1) ;"@10<45.0000"
  19.               (stop)
  20.               (command "_pline" (mapcar '+ '(0.0 10.0) p1) (mapcar '+ '(0.0 10.0) p2) v1 )
  21.               (stop)
  22.         
  23.               (alert (strcat "或第二种写法 \n(command "_pline" p1 p2 "v2")"))
  24.               (apply 'command
  25.                      (cons "_pline"
  26.                            (append (mapcar ''((x) (mapcar '+ '(0.0 20.0) x)) (list p1 p2)) (list v2))
  27. ;"@7.0711,7.0711"
  28.                            )
  29.                      )
  30.               (stop)
  31.               )
  32.        )
  33.   (princ "\n示范完成!")
  34.   (princ)
  35.   )

 楼主| 发表于 2019-10-29 12:56 来自手机 | 显示全部楼层
lisperado 发表于 2019-10-29 06:40
(command "_pline"  p1 p2 "@10

你的代码出来的直线是固定长度,不能实现预览点选长度啊。我想要像手动操作一样,输入<45就可以控制直线方向往上还是朝下和长度自由点选
发表于 2019-10-29 16:01 | 显示全部楼层
既然你要手动还要预览为什么还要写代码,直接用命令不就行了,难道还要把cad自带命令反编译出来用吗,真是莫名其妙
 楼主| 发表于 2019-10-29 19:57 来自手机 | 显示全部楼层
start4444 发表于 2019-10-29 16:01
既然你要手动还要预览为什么还要写代码,直接用命令不就行了,难道还要把cad自带命令反编译出来用吗,真是 ...

因为这个命令需要重复反复使用,使用频率很高,每次输入太麻烦
发表于 2019-10-29 20:34 | 显示全部楼层
不是很明白是不是强烈约束45度倍数画线?




[url]http://bbs.mjtd.com/thread-178260-1-1.html
[/url]

直接免去符号 @10<45d32'10"

或PLINE中执行隐形命令 'dd 10 45 32 10
https://www.cadtutor.net/forum/t ... &comment=556923
 楼主| 发表于 2019-10-29 23:14 来自手机 | 显示全部楼层
lisperado 发表于 2019-10-29 20:34
不是很明白是不是强烈约束45度倍数画线?



是这个意思,谢谢提供的网址
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 19:06 , Processed in 0.345122 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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