乐筑天下

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

[编程交流] 需要修复2个LISP(斜率

[复制链接]

20

主题

70

帖子

50

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 06:23:53 | 显示全部楼层 |阅读模式
第一个lisp斜率。LSP以百分比标记直线的坡度,并且能够使用不同的水平和垂直比例,这在创建管段时非常有用。。。有时在autocad 2013或2014中,当我尝试重复该命令时,它工作得很好,因此我需要重新启动autocad。
 
第二个Lisp程序的斜线。LSP在指定坡度处创建直线。问题如下:
1) 仅当我将文件拖动到autocad屏幕时,lisp才会启动
2) 该线是在与我单击以创建它的点相反的方向创建的。
 
谢谢大家,我希望其他人也会发现它很有用。lsp
斜坡lsp
回复

使用道具 举报

20

主题

70

帖子

50

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 06:35:55 | 显示全部楼层
有人吗?
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 06:46:12 | 显示全部楼层
也许 吧:
rem是lisp函数,不能表示为变量。
  1. (setvar "osmode" rem)

 
 
 
 
  1. ;CODE
  2. ;by Maurizio - July 2011
  3. [b][color=red]([/color][/b]defun C:Slopedraw () ;; [color=red][b]1)[/b][/color] [color=red]missing parenthesis[/color]
  4.    ;INPUT SLOPE
  5.    (if (= pSlope nil)
  6.        (setq pSlope 3.03)
  7.    )
  8.    (setq perc (getreal (strcat "\nSlope % <" (rtos pSlope 2 2) "> :")))
  9.    (if (/= perc nil)
  10.        (setq pSlope perc)
  11.    )
  12.    ;FIRST POINT - DISTANCE
  13.    (setq p1 (getpoint "\nStart point: "))
  14.    (setq dd (getdist "\nDistance: " p1))
  15.    (setq dy (/ (* dd pSlope) 100.0))
  16.    ;SECOND POINT AT LEFT AND DY > 0
  17.    (setq p2 (mapcar '+ p1 (list ([b][color=red]+[/color][/b] dd) dy 0))) ;; [color=red][b]2)[/b] substitute - with +[/color]
  18.    (command "_line" p1 p2 "")
  19.    (princ)
  20. )

 

  1. (setq p2 (mapcar '+ p1 (list dd dy 0)))
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 07:00:46 | 显示全部楼层
 
 
..........
回复

使用道具 举报

20

主题

70

帖子

50

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 07:12:36 | 显示全部楼层
非常感谢你,斯洛。LSP工作得很好。
那斜坡呢。lsp你发现问题了吗?
我需要删除带有“rem”的raw吗?
回复

使用道具 举报

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:22:30 | 显示全部楼层
GP_告诉你一个问题是什么。将rem重命名为rem2 everywhere将是一个简单的解决方案。试试看,这是否就是它所需要的全部。
回复

使用道具 举报

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:25:34 | 显示全部楼层
事实上,除了在最后,我不知道rem在哪里被实际使用。看起来目的是保存OSMODE值,然后重置它,但没有发生。你可以像这样在开头附近加上缺失的一行
 
  1. (setq rem2 (getvar "OSMODE"))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 17:54 , Processed in 0.621167 second(s), 66 queries .

© 2020-2025 乐筑天下

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