乐筑天下

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

[编程交流] Y沿弧U相交

[复制链接]

37

主题

125

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
190
发表于 2022-7-6 10:40:37 | 显示全部楼层 |阅读模式
大家好
 
我试图识别圆弧上的点,如果从圆弧上的测试点绘制一条水平线,结果将是Y坐标相交的一个或两个点的列表_
 
干杯
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:48:01 | 显示全部楼层
调查
  1. (vlax-invoke obj1 'IntersectWith obj2 acExtendNone)
回复

使用道具 举报

37

主题

125

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
190
发表于 2022-7-6 10:56:57 | 显示全部楼层
谢谢alanjt。
 
不幸的是,我不能使用intersectsWith方法,因为没有实际的线,并且基于ODBX的程序执行计算,每个文档将插入数千次。我写了一个方法来生成关于弧的每个可以想象的细节(我能想象的每个人),并知道测试坐标。我需要只用数学来实现这一点。具有讽刺意味的是,我曾经在制造业和设计业做过短暂的工作,如果我在这里呆得足够长,我现在就必须学会如何做到这一点。
 
干杯
奥利
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:00:13 | 显示全部楼层
我喜欢人们不包括所有信息的时候。
回复

使用道具 举报

37

主题

125

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
190
发表于 2022-7-6 11:08:34 | 显示全部楼层
 
呵呵:这些天我花了很多时间用各种语言写数学函数,我想每个人都只会思考微积分。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:14:57 | 显示全部楼层
当它有内置功能时就不会了。
回复

使用道具 举报

37

主题

125

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
190
发表于 2022-7-6 11:20:22 | 显示全部楼层
内置功能适用于弱者
 
上述声明可能是我所接受的每个项目的失败。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:24:21 | 显示全部楼层
如果有选项,请使用它。
回复

使用道具 举报

37

主题

125

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
190
发表于 2022-7-6 11:34:24 | 显示全部楼层
根据函数的规模(如果它相当小),我倾向于在以下基础上工作-如果有vl*方法,请在不编写自己的函数的情况下使用。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:34:52 | 显示全部楼层
内置功能适用于弱者
 
  1. (defun GetArcX ( e y / dxf asin l c r s f a g )
  2. ;; © Lee Mac 2010
  3. (defun dxf ( c l ) (cdr (assoc c l)))
  4. (defun asin ( x )
  5.    (if (< (abs x) 1.0)
  6.      (if (equal (abs x) 1.0 1e-
  7.        (* x (/ pi 2.))
  8.        (atan (/ x (sqrt (- 1.0 (* x x)))))
  9.      )
  10.    )
  11. )
  12. (setq l (entget e))
  13. (setq c (dxf 10 l) r (dxf 40 l) s (dxf 50 l) f (dxf 51 l))
  14. (if (< f s) (setq s (- s (* 2 pi))))
  15. (if (setq a (asin (/ (- y (cadr c)) r)))
  16.    (mapcar
  17.      (function
  18.        (lambda ( n )
  19.          (if (<= s n f)
  20.            (list (+ (* r (cos n)) (car c)) y)
  21.          )
  22.        )
  23.      )
  24.      (list (- pi a) (rem (+ (* 2 pi) a) (* 2 pi)))
  25.    )
  26. )
  27. )
  28. (defun c:test ( / e pt x y )
  29. (if (and (setq e (car (entsel "\nSelect Arc: ")))
  30.           (setq p (getpoint "\nPick Y Elevation: "))
  31.           (setq x (GetArcX e (cadr (trans p 1 0)))))
  32.    (foreach pt x
  33.      (if pt
  34.        (entmakex (list (cons 0 "POINT") (cons 10 pt)))
  35.      )
  36.    )
  37. )
  38. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 17:06 , Processed in 0.331264 second(s), 72 queries .

© 2020-2025 乐筑天下

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