乐筑天下

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

选择案例角度

[复制链接]

34

主题

118

帖子

1

银币

后起之秀

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

铜币
254
发表于 2007-7-17 15:18:05 | 显示全部楼层 |阅读模式
我试图简单地选择不同的角度,
但当dblangle = 135或225时,什么都没有选择
:ugly:
选择案例dblangle
案例0,135,180,225

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

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

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

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

铜币
254
发表于 2007-7-17 15:22:41 | 显示全部楼层
你到底想做什么?
回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

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

铜币
254
发表于 2007-7-17 15:23:14 | 显示全部楼层
角度是用弧度测量的,所以这可能会给你带来问题
回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

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

铜币
254
发表于 2007-7-17 15:26:56 | 显示全部楼层
dblradians = ThisDrawing。Utility.AngleFromXAxis(PolySp,PolyEp)
dblangle = dblradians *(180/PI)
选择大小写dblangle
大小写0,135,180,225
dblAng = 0 *(PI/180)

我只是尝试将135,180,225度转换为0
回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

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

铜币
254
发表于 2007-7-17 15:29:17 | 显示全部楼层
我不知道你是否错过了打字,但是什么是dblAng与dblangles? 如果要将它们全部设置为 0,为什么不 dblAng = 0?
回复

使用道具 举报

12

主题

150

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
198
发表于 2007-7-17 15:32:43 | 显示全部楼层
dblangle=dbl弧度*(180/PI)'conv弧度到度数
dblAng是我的返回值
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2007-7-17 15:34:53 | 显示全部楼层

你是对的,但我不能选择135和225
回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

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

铜币
254
发表于 2007-7-17 15:41:02 | 显示全部楼层
好吧,我试图复制你的问题,我认为你的问题是小数点。
  1. Option Explicit
  2. Sub Example_AngleFromXAxis()
  3.     ' This example finds the angle, in radians, between the X axis
  4.     ' and a line defined by two points.
  5.    
  6.     Dim pt1(0 To 2) As Double
  7.     Dim pt2(0 To 2) As Double
  8.     Dim retAngle As Double
  9.    
  10.     pt1(0) = 2: pt1(1) = 5: pt1(2) = 0
  11.     pt2(0) = 5: pt2(1) = 2: pt2(2) = 0
  12.    
  13.     ' Return the angle
  14.     retAngle = ThisDrawing.Utility.AngleFromXAxis(pt1, pt2)
  15.     retAngle = RtoD(retAngle)'*****   added by cmdrduh
  16.     ' Create the line for a visual reference
  17. '*****   added by cmdrduh
  18.     Dim intretangle As Integer
  19.     intretangle = CInt(retAngle)
  20.     Select Case intretangle
  21.     Case 0
  22.     MsgBox "0"
  23.     Case 315
  24.     MsgBox "315"
  25.     End Select
  26.    
  27. ' end of  *****   added by cmdrduh   
  28.     Dim lineObj As AcadLine
  29.     Set lineObj = ThisDrawing.ModelSpace.AddLine(pt1, pt2)
  30.     ZoomAll
  31.    
  32.     ' Display the angle found
  33.     MsgBox "The angle in radians between the X axis and the line is " & retAngle, , "AngleFromXAxis Example"
  34.    
  35. End Sub
  36. '*****   added by cmdrduh
  37. Private Function DtoR(d As Double)      ' Degrees to Radians
  38.       Const PI = 3.14159265
  39.       DtoR = (PI * d) / 180
  40. End Function
  41. Private Function RtoD(r As Double)      ' Radians to Degrees
  42.       Const PI = 3.14159265
  43.       RtoD = (180 * r) / PI
  44. End Function

这个函数是有帮助的,我添加了选择案例部分。 我无法找到315度线,直到我使用CInt()将双精度转换为整数。 你可以做类似的事情,或者扩大你的选择案例
回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

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

铜币
254
发表于 2007-7-17 15:57:47 | 显示全部楼层

谢谢
回复

使用道具 举报

12

主题

150

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
198
发表于 2007-7-17 16:16:45 | 显示全部楼层
也许有更好的办法,但是我现在太累了,不想思考。也许有个大师能帮上忙。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 09:52 , Processed in 0.922342 second(s), 72 queries .

© 2020-2025 乐筑天下

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