乐筑天下

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

为什么用JIG类预览块的时候很不清晰

[复制链接]

24

主题

59

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2015-1-21 19:45:00 | 显示全部楼层 |阅读模式
为什么用JIG类预览块的时候很不清晰。代码如下:
'旋转预览--镜像预览
Public Class False_Rotation
    Inherits DrawJig
    Public BasePt As Point3d
    Public EntCopy() As Entity '复制出来预览的对象
    Private BAngle As Single
    Private AngleScale As Integer = 1
    ' WorldDraw函数用于刷新屏幕上显示的图形.
    Protected Overrides Function WorldDraw(ByVal draw As WorldDraw) As Boolean
        On Error Resume Next
        For i = 0 To EntCopy.Length - 1
            draw.Geometry.Draw(EntCopy(i))   
        Next
        Return True
    End Function
    Protected Overrides Function Sampler(ByVal prompts As JigPrompts) As SamplerStatus
        On Error Resume Next
        ' 定义一个角度拖动交互类.
        Sampler = Nothing
        Dim optJigAngle1 As New JigPromptAngleOptions(vbCrLf & "请指定旋转角度")
        ' 设置拖拽的光标类型.
        optJigAngle1.Cursor = CursorType.RubberBand
        ' 设置拖动光标基点.
        optJigAngle1.BasePoint = BasePt
        optJigAngle1.UseBasePoint = True
        ' 用AcquireAngle函数得到用户输入的角度值.
        Dim resJigAngle1 As PromptDoubleResult = prompts.AcquireAngle(optJigAngle1)
        If BAngle  resJigAngle1.Value Then
            ' 保存当前角度值.   
            For i = 0 To EntCopy.Length - 1
                EntCopy(i).TransformBy(Matrix3d.Rotation((resJigAngle1.Value - BAngle) * AngleScale, Vector3d.ZAxis, BasePt))
            Next
            BAngle = resJigAngle1.Value
            Return SamplerStatus.OK
        Else
            Return SamplerStatus.NoChange
        End If
    End Function
End Class
调用
           Dim Ent(0) As Entity
            Ent(0) = InserBlock
            Dim QJI As New False_Move
            QJI.EntCopy = Ent
            QJI.BasePt = New Point3d()
            QJI.CurrPt = New Point3d()
            Dim jigRes As PromptResult = AcDocEd.Drag(QJI)‘移动预览没有问题
            If jigRes.Status = PromptStatus.OK Then
                Dim RJI As New False_Rotation'旋转预览就很闪烁。预览的对象不全
                RJI.BasePt = QJI.CurrPt
                RJI.EntCopy = Ent
                QJI = Nothing
                jigRes = AcDocEd.Drag(RJI)
                If jigRes.Status = PromptStatus.OK Then
                    ModelSpace.AppendEntity(Ent(0))
                End If
            End If
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2015-1-22 13:39:00 | 显示全部楼层
可能是绘图频率过高,想办法在必要时才绘图
回复

使用道具 举报

24

主题

59

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2015-1-22 14:41:00 | 显示全部楼层
是精度的问题。我已经解决了。谢谢
回复

使用道具 举报

5

主题

22

帖子

4

银币

初来乍到

Rank: 1

铜币
42
发表于 2016-9-28 21:38:00 | 显示全部楼层
嗨,同样的问题,怎么解决的
回复

使用道具 举报

3

主题

31

帖子

5

银币

初来乍到

Rank: 1

铜币
43
发表于 2016-10-9 13:13:00 | 显示全部楼层
同问怎么解决的
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 06:09 , Processed in 0.459402 second(s), 62 queries .

© 2020-2024 乐筑天下

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