乐筑天下

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

vlax曲线getClosestPointTo问题

[复制链接]

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2006-12-3 11:34:29 | 显示全部楼层 |阅读模式
您好-
我正在尝试在VBA和VLisp之间通信,以使用使用setlispvar和evallispexpression代码的vlax曲线函数。我似乎无法使代码正常工作。附件包含我的代码。代码试图从(0,0,0)到(100100,0)绘制一条线,然后找到距离(50,55,0)最近的点。问题似乎在于将点变量转换为点列表。任何帮助都将不胜感激,因为我感到非常沮丧和“;“脑死亡”;在这一点上,我知道我忽略了一些非常明显的事情或做了一些非常愚蠢的事情
提前谢谢

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-12-3 13:42:31 | 显示全部楼层
这里是#039;这是Frank Oquendo的一段代码#039;s VLAX。处理设置lisp符号的CLS。请注意,它与您的不同之处在于,他使用lisp函数来转换数据类型
  1. Public Sub SetLispSymbol(symbolName As String, value)
  2.     Dim sym As Object, ret, symValue
  3.    
  4.     symValue = value
  5.     Set sym = VLF.Item("read").funcall(symbolName)
  6.     ret = VLF.Item("set").funcall(sym, symValue)
  7.     EvalLispExpression "(defun translate-variant (data) (cond ((= (type data) 'list) (mapcar 'translate-variant data)) ((= (type data) 'variant) (translate-variant (vlax-variant-value data))) ((= (type data) 'safearray) (mapcar 'translate-variant (vlax-safearray->list data))) (t data)))"
  8.     EvalLispExpression "(setq " & symbolName & "(translate-variant " & symbolName & "))"
  9.     EvalLispExpression "(setq translate-variant nil)"
  10. End Sub

回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-12-3 14:45:06 | 显示全部楼层

我使用;弗兰克#039;s级,it#039;它易于使用,可以满足您的需要
(2006年的我,2007年的我还没有试过);曲线cls v1.3(上次更新于2001年12月18日)
&039;版权所有2000年,2001年,Frank Oquendo
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-12-5 20:05:18 | 显示全部楼层
谢谢大家
我很感激这些提示。我仍在努力解决这个问题。我已经尝试了曲线类并取得了一些成功。对于我的测试图形来说,它似乎工作得很好,在坐标值小于10000的坐标处只有几个Aecc点。我在一个更大的图形上尝试了它,在状态平面坐标为10000000(x)和3000000(y)的大约300个点上,它在不同的点上给出了错误消息,没有一致性。如果我将这些点转换为小于10000的值,那么对于300个点,它可以完美地工作。问题是用科学记数法表示某些值,因为我一直得到错误代码13吗
无论如何,我会继续玩下去。再次感谢您的帮助!!!
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-12-5 21:21:11 | 显示全部楼层
当您离原点和vba太远时,Cad本身存在偏移问题;s低;精度不#039;没什么帮助
如果你只想要最近的点,我会发布一些我更喜欢的代码和数学。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 00:41 , Processed in 1.638163 second(s), 68 queries .

© 2020-2025 乐筑天下

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