乐筑天下

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

[编程交流] 如何旋转和重新定位e

[复制链接]

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:12:07 | 显示全部楼层 |阅读模式
我有以下几点
 
  1.         ((some if condition)
  2.          (progn
  3.              (prin1 "diferente de 0 confirmado")
  4.                             (setq
  5.                           newangle '(50 . -4.71239)
  6.                                correcaoalturav (/ (- 20 conversaodim) 2)
  7.                                contas (- 25.308 correcaoalturav)
  8.                                newposition (cons 10 (list (- (cadr position) contas ) (- (caddr position) mtextwidth )))
  9.                         substituteangle (subst newangle (assoc 50 enty) enty)
  10.                                substituteposition (subst newposition position enty)
  11.         )
  12.            [b]  (entmod substituteangle)
  13.                   (entmod substituteposition)[/b]
  14.           )

 
显然,它应该旋转我的文本,并将其放置在其他坐标系中。我试着对每一个entmod进行评论,他确实做到了。然而,如果我这样放置entmod,autocad将只执行最后一个操作,这意味着,他只重新定位我的文本。如果我只保留(entmod替换角度),他将正确旋转文本。这不是我所期待的问题,我该怎么办?我可以将这两个更改合并到一个变量中吗?
回复

使用道具 举报

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:34:15 | 显示全部楼层
没关系,我明白了,我应该按以下方式做:
 
  1.                               ... (previous code)...
  2.                                substituteangle (subst newangle (assoc 50 enty) enty)
  3.                                substituteposition (subst newposition position [b]substituteangle[/b])
  4.         )
  5.             
  6.                   (entmod substituteposition)

 
这种语言似乎比实际更容易
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 18:41:50 | 显示全部楼层
虽然我没有完全理解您的所有代码,但这是在一个调用中输入多个组所需的基本顺序
 
  1. [b][color=BLACK]([/color][/b]if [b][color=FUCHSIA]([/color][/b]setq en [b][color=NAVY]([/color][/b]ssname [b][color=MAROON]([/color][/b]ssget [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"INSERT"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] 0[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  2.      [b][color=FUCHSIA]([/color][/b]progn
  3.         [b][color=NAVY]([/color][/b]setq ed [b][color=MAROON]([/color][/b]entget en[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  4.         [b][color=NAVY]([/color][/b]setq np [b][color=MAROON]([/color][/b]list 10 10 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  5.         [b][color=NAVY]([/color][/b]setq an -4.71239[b][color=NAVY])[/color][/b]
  6.         [b][color=NAVY]([/color][/b]setq ed [b][color=MAROON]([/color][/b]subst [b][color=GREEN]([/color][/b]cons 10 np[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]assoc 10 ed[b][color=GREEN])[/color][/b] ed[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  7.         [b][color=NAVY]([/color][/b]setq ed [b][color=MAROON]([/color][/b]subst [b][color=GREEN]([/color][/b]cons 50 an[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]assoc 50 ed[b][color=GREEN])[/color][/b] ed[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  8.         [b][color=NAVY]([/color][/b]entmod ed[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
-大卫
回复

使用道具 举报

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:54:41 | 显示全部楼层
谢谢你,大卫,你是说我能做到?
 
  1.                            
  2.                                     (setq
  3.                                        [b]substituteangle[/b] (subst newangle (assoc 50 enty) enty)
  4.                                        [b]substituteangle [/b](subst newposition position enty)  
  5.         )
  6.             
  7.                   (entmod substituteangle)

 
? 他会做两个替补吗?我想他会用第二个代替第一个。。。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 19:03:01 | 显示全部楼层
您正在更改变量enty,然后第二次重写它
 
setq调用应与subst调用使用的变量名相同
 
您可以在调用(entmod)之前多次重新定义实体定义,如果这是您的要求的话?
 
通常使用use(subst)和(append)编辑定义。使用(cons)可能会导致问题,因为DXF组0必须是列表中的第一个组。
 
我们很多人使用“ed”或“edef”作为实体定义的变量名
 
 
如果代码整洁,AutoLISP可以非常人性化
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 19:12:18 | 显示全部楼层
 
尝试替换enty变量。。
  1. (setq
  2. [color="#006400"];; ...
  3. ;; ... [/color]
  4. substituteangle (subst newangle (assoc 50 enty) enty)
  5. substituteposition (subst newposition position [color="red"]substituteangle[/color]) [color="#006400"]; no more enty[/color]
  6. );
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:40 , Processed in 0.875394 second(s), 64 queries .

© 2020-2025 乐筑天下

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