乐筑天下

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

[编程交流] WCS原点

[复制链接]

8

主题

38

帖子

30

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 15:38:49 | 显示全部楼层 |阅读模式
我到处找,结果空空如也。。。
 
简单例程执行以下操作:
 
  1. (vl-cmdf "ucs" "w");switches to WCS-good
  2. (vl-cmdf "copy" ent "" "_non" bse "_non" "*0,0");copies ent from bse point to WCS origin-[color="red"]not good[/color]
  3. (vl-cmdf "dxfout" "" "v" "lt2000" "o" "l" "" "");export copied to DXF-good
  4. (entdel (entlast));deletes copied-good
  5. (vl-cmdf "ucs" "p");returns to previous UCS-good

 
问题:它将对象复制到例程启动时设置的UCS原点。。。当我调用例程时,只有当图形已经在WCS中时,上述操作才有效。。当我将[“ucs”“w”]命令放在“ent”的ssget和“bse”函数的getpoint之前时,它也可以工作。但视觉效果不太流畅,所以不适合我的目标。。。
 
如何强制“ent”从“bse”到WCS原点?
 
我认为答案是跨函数的,但我不知道如何实现它。。听起来很简单,但究竟是什么。。。感谢您的任何帮助!
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:02:47 | 显示全部楼层
而不是:
使用
  1. (trans '(0 0 0) 0 1)
回复

使用道具 举报

8

主题

38

帖子

30

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 16:17:37 | 显示全部楼层
罗伊:
不幸的是没有骰子。。。做完全相同的事情:/
 
当我在AutoCAD中一次执行一个命令时,它也可以正常工作。。。但在lisp中,它就像是将对象复制到原点的速度比UCS更新到WCS的速度快,即使它放置在copy命令之前
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:28:43 | 显示全部楼层
更改:
  1. (vl-cmdf "copy" ent "" "_non" bse "_non" "*0,0")
至:
  1. (vl-cmdf "_.copy" ent "" "_non" (trans bse 1 0) "_non" '(0 0 0))

 
或者按照罗伊的建议删除:
  1. 5
回复

使用道具 举报

8

主题

38

帖子

30

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 16:49:03 | 显示全部楼层
是的,是的。。。
 
现在你把它分解成这样,我读到的所有内容突然都有了意义:
 
Roy只是将wcs(0)的原点转换为ucs(1),因为我的“bse”点是在ucs中指定的
Mac先生正在将“bse”从ucs(1)翻译为wcs(0),并将其放在原点(0 0)。。。
尤里卡!
 
谢谢你们!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:09 , Processed in 0.750163 second(s), 62 queries .

© 2020-2025 乐筑天下

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