tfyyf 发表于 2015-1-8 11:43:38

本帖最后由 tfyyf 于 2015-10-14 15:32 编辑

autocad.net

╰☆珊瑚玉ヤ 发表于 2015-1-8 12:36:37

tfyyf 发表于 2015-1-8 11:27 static/image/common/back.gif
的确好多年不怎么来了,这好像人很少。以前做的软件看有的人需要就改了一下。与大家分享!

是啊,本贴时间跨度真的不小呢,想想04年那时候还在上学呢
嘿嘿,小弟不懂编程
但与大家同求大神分享一些地质测量方面的软件

ji3499222 发表于 2015-1-9 15:29:50

一看就知道楼主是个热心肠,有问必答,好人啊!

tfyyf 发表于 2015-7-31 16:01:58

矿井地测设计软件,请试用

tfyyf 发表于 2015-8-13 09:26:25

0、欢迎试用“矿井地测信息系统”,并希望得到您好的建议和对其中错误的指正。
1、将文件保存至计算机硬盘。最好保存至一个新建立的文件夹如:"D:\矿井地测信息系统"下。
2、打开CAD(最好是2012版本,本软件是在CAD2012下调试的),在CAD命令行运行命令:NETLOAD
3、读入“矿井地测信息系统.dll”看屏幕左侧。
4、如本系统没运行,在CAD命令行运行命令:DCXXXT。
5、以后每次运行命令:DCXXXT即可。
6、如果你得到更新的版本:在CAD命令行运行命令:UNDCXXXT。关闭CAD,用新版“矿井地测信息系统.dll”把原来的文件替换即可。

hounengwei 发表于 2015-8-19 05:44:31

谢谢楼主分享!!!

zhangshuji2000 发表于 2015-9-22 09:47:44

谢谢楼主

gzbccy 发表于 2015-9-29 09:40:50

tfyyf 发表于 2015-1-8 11:27 static/image/common/back.gif
的确好多年不怎么来了,这好像人很少。以前做的软件看有的人需要就改了一下。与大家分享!

楼上的好建议,传到个人云盘,共享下。就不会受限制了!大家都很喜欢你的软件啊

tfyyf 发表于 2015-10-10 11:37:39

   Public Function 拟合(ByVal entId As ObjectId) As Spline
      Dim db As Database = HostApplicationServices.WorkingDatabase
      Using trans As Transaction = db.TransactionManager.StartTransaction()
            Dim ent As Spline = trans.GetObject(entId, OpenMode.ForWrite)
            ent.Type = SplineType.FitPoints
            trans.Commit()
            Return ent
      End Using
    End Function

    Public Function 样条曲线方向(ByVal entSpline As Spline) As Integer '逆时针返回1,顺时针返回-1,其它情况返回0.
      If entSpline.Closed = False Then Return 0
      entSpline = 拟合(entSpline.ObjectId)
      Dim W, S, N As Integer
      Dim DistW, DistS, DistN As Double
      Dim pointW, pointS, pointN As Point3d
      For I As Integer = 0 To entSpline.GetDistanceAtParameter(entSpline.Area) Step entSpline.GetDistanceAtParameter(entSpline.Area) / 360
            If I = 0 Then pointW = entSpline.GetPointAtDist(I) : pointS = pointW : pointN = pointW
            If pointW.X > entSpline.GetPointAtDist(I).X Then pointW = entSpline.GetPointAtDist(I)
            If pointS.Y > entSpline.GetPointAtDist(I).Y Then pointS = entSpline.GetPointAtDist(I)
            If pointN.Y < entSpline.GetPointAtDist(I).Y Then pointN = entSpline.GetPointAtDist(I)
      Next
      W = 0 : S = 0 : N = 0
      For I As Integer = 0 To entSpline.NumFitPoints - 1
            If I = 0 Then DistW = pointW.DistanceTo(entSpline.GetFitPointAt(I)) : DistS = DistW : DistN = DistW
            If DistW > pointW.DistanceTo(entSpline.GetFitPointAt(I)) Then DistW = pointW.DistanceTo(entSpline.GetFitPointAt(I)) : W = I
            If DistS > pointS.DistanceTo(entSpline.GetFitPointAt(I)) Then DistS = pointS.DistanceTo(entSpline.GetFitPointAt(I)) : S = I
            If DistN > pointN.DistanceTo(entSpline.GetFitPointAt(I)) Then DistN = pointN.DistanceTo(entSpline.GetFitPointAt(I)) : N = I
      Next
      Return IIf(S < N, IIf((W <= S And W <= N) Or (W >= S And W >= N), 1, -1), IIf(W < S And W > N, 1, -1))
    End Function

褪去的记忆 发表于 2015-10-25 20:55:16

学习学习,
页: 2 3 4 5 6 7 8 9 10 11 [12] 13
查看完整版本: 免费软件〔有新增)