乐筑天下

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

[编程交流] LISP中的缩放灵敏度

[复制链接]

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:29:20 | 显示全部楼层 |阅读模式
你好
我刚开始写LISP的,已经为我的工作室准备了一些。只是为了在潮水低潮时保持忙碌。
最后一个我几乎完成的是一个按顺序偏移的偏移lisp(我真的不在乎是否已经为这个制作了lisp,我一直在尝试我的lisp例程制作)。我首先选择偏移量,然后是每个偏移量的值,最后是要偏移的边。
我的问题是,当我放大到直线附近时,lisp效果很好——我的意思是,它偏移了我输入的valeus。但当我在缩放上有点远时,它会偏移到不同的值。我真的不知道它为什么这么做。我需要调整缩放灵敏度吗?有这样的事吗?
 
这是我写的代码(葡萄牙语)。不要介意它的脏乱。
谢谢
 
  1. ;Criado por Rodrigo Líbano
  2. (defun c:offseq (/ numof numof2 numof3 list carl carls carlss voffx vof2x vof1x p2x side)
  3.    (initget 7)
  4.    (setq numof (getint "\nNúmero de offsets [2 ou mais]:"))
  5.    (initget 7)
  6.    (setq voffx (getdist "\nValor do primeiro offset:"))
  7.    (setq numof (- numof 1))
  8.    (setq numof2 numof)
  9.    (setq numof3 numof)
  10.    (setq list (cons voffx voffx))
  11.    (setq vof1x voffx)
  12.    (while numof   
  13.        (initget 7)
  14.        (setq vof2x (getdist (strcat "\nValor do próximo offset [Restam:" (rtos numof 2 0)"]:")))
  15.        (setq vof2x (+ vof2x vof1x))
  16.        (setq list (cons vof2x list))
  17.        (setq vof1x vof2x)
  18.        (setq numof (1- numof))
  19.        (if (= numof 0)
  20.            (setq numof nil)
  21.            (setq numof numof)
  22.        )
  23.    ); end while
  24.    (princ list)
  25.    (setq carlss carls)
  26.    (while
  27.        (setq p2x (cadr (entsel "\nSelecione Objeto:")))
  28.        (setq side (getpoint "\nSelecione lado:"))
  29.        (while numof2        
  30.            (setq carl (nth numof2 list))
  31.            (if (= numof2 numof3)
  32.                (setq carls (- carl carl))
  33.                (setq carls (nth (+ numof2 1) list))
  34.            ); end if
  35.            (setq carls (- carl carls))
  36.            (setvar "OFFSETDIST" carl)
  37.            (command "._UNDO" "_GROUP")
  38.            (command ".OFFSET" carl p2x side "")
  39.            
  40.            (if (= numof2 0)
  41.                (setq numof2 nil)
  42.                (setq numof2 (- numof2 1))
  43.            ); end if
  44.        ); end while
  45.        (setq numof2 numof3)
  46.        (setq carl carlss)
  47.    ); end while
  48.    
  49.    (princ)
  50. )
  51.       
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:50:14 | 显示全部楼层
首先,不能使用函数作为变量的名称。
 
 
我会查一下你的密码,看看能不能帮你。
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:55:20 | 显示全部楼层
 
 
有趣的是,尽管如此,这个惯例还是奏效了。不过,我想看看这是否是问题所在,但事实并非如此。
提供有关该问题的更多信息。假设我向lisp询问3个偏移量,值1、2和3。(lisp所做的实际上是偏移相同的原始行,因此值更改为1、3和6,使行之间的间隔与输入值保持一致)。
当放大时,线之间的距离是正确的(1,2,3),但当重试稍微缩小时,我得到的距离是1,3和6。
 
它可能与pickbox变量有关吗?(我真的不明白这一点,但在另一个Lisp程序的地方找到了一些关于它的东西)。
 
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:09:15 | 显示全部楼层
 
这并不好笑,这是你应该关心的事实。
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:20:02 | 显示全部楼层
谢谢你的提示,已经处理好了,但问题仍然存在。我不是想成为一个聪明的***。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 10:30:26 | 显示全部楼层
我在更改捕捉模式之前遇到过这个问题,有时将其设置为0可以工作,我的解决方法是缩放到某个比例,使对象在对其进行操作之前可见,然后跳回原来的比例。这是一个墙清理Lisp程序的情况,如果你放大到远处,将无法工作,将拾取错误的线放大一点,每次都可以完美地工作。你会发现一些没有记录的小错误。为Intellicad、MAC acad编写的代码,必须根据运行的版本更改工作代码。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 03:13 , Processed in 0.678864 second(s), 64 queries .

© 2020-2025 乐筑天下

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