乐筑天下

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

[编程交流] LISP或VL中的跳汰/重影

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:34:05 | 显示全部楼层 |阅读模式
我绝对喜欢这些东西——它们看起来非常令人印象深刻,能够用它们创建自定义对象真是太棒了。
 
[看看这个天才的展示]
 
但是,我的问题是:在LISP或者更确切地说是视觉LISP中是否可能?或者这些技术仅限于ObjectARX和/或之类的技术。网络?
 
我已经看到/创建了一些类似这种技术的“make-shift”示例,使用了grvecs、grread、grdraw等函数,但我不确定这些与实际交易相比有多好。。。
 
我已经看到了执行此功能的“acet ss drag move”和“acet ss drag rotate”功能,但是还有其他不依赖Express Tools的方法吗?还是我运气不好?
 
感谢您的关注和时间,但最重要的是:耐心。
 
干杯
 
回复

使用道具 举报

20

主题

344

帖子

325

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 14:44:33 | 显示全部楼层
我刚在谷歌上搜索了“跳汰”这个词,但发现了很多钓鱼网站。。这些术语到底意味着什么?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:51:04 | 显示全部楼层
 
如果你查看SeanT发布的线程链接,就会发现该线程中有大量关于跳汰和重影的信息。
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 14:56:34 | 显示全部楼层
 
谢谢李;尽管我应该指出,抛物线本身并不是一个真正的自定义对象。该例程提供了一个自定义用户界面,允许创建半标准*样条曲线。目前,只有C++(ObjectARX)可以创建真正的“自定义对象”。
 
据推测,“被否决的对象”是AutoCAD 2010中的一个新功能,它允许。NET创建标准对象的附加特征和特性的能力。可能需要增加85%的功能,而真正的“自定义对象”的编程开销只有一半。
 
*我之所以说半标准是因为AutoCAD不允许直接创建二次样条曲线。它可以间接创建,如本文从第26页开始讨论的那样。
http://www.cadtutor.net/forum/showthread.php?t=17548
 
 
观察:
很明显,自从开始学习C语言以来,我在帖子中使用了过多的标点符号。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-6 14:58:26 | 显示全部楼层
李,
 
这看起来像是grvecs。。。。看看这个例程来跟踪一个对象
 
http://www.theswamp.org/index.php?topic=24536.msg297267#msg297267
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:07:42 | 显示全部楼层
 
感谢您的澄清,看起来您正在创建自定义对象(并且您设法愚弄了我!),但我明白你在说什么巧合的是,我只是看了一下屏幕,看到了一个由“Daniel”在ARX中创建的自定义对象(可能是吧?),但我不知道他是怎么做到的。。。
 
(是的,确实有很多标点符号……)
 
 
这些都是很酷的罗恩,grvecs的功能是有趣的玩周围我必须承认。。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:15:40 | 显示全部楼层
我想这是一个重影的例子:
 
  1. [i][color=#990099];; Ghosting Example, by Lee McDonnell[/color][/i]
  2. [i][color=#990099];; Args:[/color][/i]
  3. [i][color=#990099];; msg ~ prompt      [str][/color][/i]
  4. [i][color=#990099];; oBj ~ object      [ent/obj][/color][/i]
  5. [i][color=#990099];; hi  ~ rubber band [t/nil][/color][/i]
  6. [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] lmac-obj-drag-move  [b][color=RED]([/color][/b]msg oBj hi [color=Blue][b]/[/b][/color] oBj bsPt cOBj gr[b][color=RED])[/color][/b]
  7. [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
  8. [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] msg
  9.    [b][color=RED]([/color][/b][b][color=BLUE]prompt[/color][/b]
  10.      [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b]
  11.        [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-string-search[/color][/b] [b][color=#ff00ff]"\n"[/color][/b] msg[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  12.          [b][color=#ff00ff]"\n"[/color][/b][b][color=#ff00ff]""[/color][/b][b][color=RED])[/color][/b] msg[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  13. [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=DARKRED]'[/color][/b]VLA-OBJECT [b][color=RED]([/color][/b][b][color=BLUE]type[/color][/b] oBj[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  14.      [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] oBj
  15.        [b][color=RED]([/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] oBj[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  16. [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b]
  17.    [b][color=RED]([/color][/b][b][color=BLUE]vlax-property-available-p[/color][/b] oBj [b][color=DARKRED]'[/color][/b]InsertionPoint[b][color=RED])[/color][/b]
  18.    [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
  19.      [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] hi
  20.        [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] bsPt
  21.          [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b]
  22.            [b][color=RED]([/color][/b][b][color=BLUE]vlax-variant-value[/color][/b]
  23.              [b][color=RED]([/color][/b][b][color=BLUE]vla-get-InsertionPoint[/color][/b] oBj[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  24.      [b][color=RED]([/color][/b][b][color=BLUE]vla-highlight[/color][/b]
  25.        [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] cOBj
  26.          [b][color=RED]([/color][/b][b][color=BLUE]vla-copy[/color][/b] oBj[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=Blue]:vlax-true[/color][color=RED])[/color][/b]
  27.    [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b]
  28.      [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b]
  29.        [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#009900]3[/color][/b]
  30.          [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b]
  31.            [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] gr [b][color=RED]([/color][/b][b][color=BLUE]grread[/color][/b] [b][color=DARKRED]'[/color][color=Blue]t[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  32.              [b][color=RED]([/color][/b][b][color=BLUE]redraw[/color][/b][b][color=RED])[/color][/b]
  33.      [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b]
  34.        [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b]
  35.          [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#009900]5[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  36.            [b][color=RED]([/color][/b][b][color=BLUE]listp[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  37.        [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
  38.          [b][color=RED]([/color][/b][b][color=BLUE]vla-move[/color][/b] oBj
  39.            [b][color=RED]([/color][/b][b][color=BLUE]vla-get-InsertionPoint[/color][/b] oBj[b][color=RED])[/color][/b]
  40.              [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b]
  41.                [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  42.          [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] hi
  43.            [b][color=RED]([/color][/b][b][color=BLUE]grdraw[/color][/b] bsPt [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b] [b][color=#009900]256[/color][/b] [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  44.      [b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-apply[/color][/b]
  45.        [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-delete[/color][/b]
  46.          [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] cOBj[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  47.    [b][color=BLUE]nil[/color][/b][b][color=RED])[/color][/b]
  48. [b][color=RED]([/color][/b][b][color=BLUE]redraw[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  49. [i][color=#990099];; Test Function[/color][/i]
  50. [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:test  [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] ss pt[b][color=RED])[/color][/b]
  51. [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] blk [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entsel[/color][/b] [b][color=#ff00ff]"\nSelect Object: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  52.    [b][color=RED]([/color][/b]lmac-obj-drag-move [b][color=BLUE]nil[/color][/b] blk [b][color=BLUE]t[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 15:16:51 | 显示全部楼层
我有机会尝试一下。从参考的2d几何到透视图中的3d几何,完美地工作。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:26:22 | 显示全部楼层
 
谢谢我扩展了在沼泽发布的方法,以便更好地模拟ACAD中的“移动”命令。
 
目前,它只适用于具有InsertionPoint属性的对象,但我正在寻找将其扩展到所有对象的方法,可能还有选择集。
 
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:28:07 | 显示全部楼层
好的,这应该适用于选择集。我意识到,“acet-ss-drag-move”功能已经做到了这一点,但它只适用于安装Express Tools的地方。这应该在所有情况下都有效。
 
[现在包括相对基点…]
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 00:11 , Processed in 0.549460 second(s), 72 queries .

© 2020-2025 乐筑天下

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