乐筑天下

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

[编程交流] VBA-收缩点

[复制链接]

7

主题

22

帖子

15

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 14:49:24 | 显示全部楼层 |阅读模式
大家好
 
我用这个代码获得2分
 
  1. v1 = ThisDrawing.Utility.GetPoint(, vbCr & "Select Point 1: ")
  2. v2 = ThisDrawing.Utility.GetPoint(, vbCr & "Select Point 2: ")

 
选择的点可以是任何角度。现在
在某些情况下,我需要将每边的长度减少18英寸。
我使用了v1(0)+18和v1(1)-18,如果线是水平的,这可以工作,但一旦线角度改变,这就不起作用。
 
有什么想法吗?顺便说一句,我不是Acad程序员,工作很慢,这些东西只是扔在我的桌子上。
 
谢谢大家!!!
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 15:02:48 | 显示全部楼层
我不确定我在听。对于v1(0)+18和v2(0)–18,您将水平线的每一侧减少18的示例似乎更合适。
 
我没有遵循常规的目标吗?
回复

使用道具 举报

7

主题

22

帖子

15

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 15:17:59 | 显示全部楼层
 
你说得对,我在论坛上打错了。因此,我使用:
 
  1. p_vPoint1(0) = (v1(0) + 18)
  2. p_vPoint2(0) = (v2(0) - 18)

 
只要这条线是水平的,这就行了,但一旦它垂直了,它就完全不稳定了。。。
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 15:37:16 | 显示全部楼层
类似于所示示例的内容应允许任意角度的点。
 
  1. Option Explicit
  2. Const pi As Double = 3.14159265
  3. Sub reduceBy18()
  4. Dim v1 As Variant
  5. Dim v2 As Variant
  6. Dim dblAng As Double
  7. Dim entLine As AcadLine
  8.   With ThisDrawing.Utility
  9.      v1 = .GetPoint(, "Select point 1: ")
  10.      v2 = .GetPoint(v1, "Select point 2: ")
  11.      dblAng = .AngleFromXAxis(v1, v2)
  12.      v1 = .PolarPoint(v1, dblAng, 18#)
  13.      v2 = .PolarPoint(v2, dblAng + pi, 18#)
  14.      Set entLine = ThisDrawing.ModelSpace.AddLine(v1, v2)
  15.   End With
  16. End Sub
回复

使用道具 举报

7

主题

22

帖子

15

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 15:48:39 | 显示全部楼层
肖恩!!!!
 
非常感谢!!!太棒了!!!!
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 15:53:27 | 显示全部楼层
不客气。我应该指出,该例程仅与WCS中公共高程处的点兼容。需要进行额外处理,以考虑完整的3D点选择。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 22:08 , Processed in 0.620101 second(s), 75 queries .

© 2020-2025 乐筑天下

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