默认头像
路人甲
路人甲
  • 注册日期2004-06-06
  • 发帖数141
  • QQ39308652
  • 铜币110枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2166回复:4

关于弧线工具。求助!!!

楼主#
更多 发布于:2004-07-16 10:14

ARCMAP的编辑工具---草图工具-----弧线工具。在图形窗口定义第一点,作为圆弧的起点,定义第二点作为圆弧的轴线。在定义第三点做为圆弧的终点。请问定义终点的时候怎么确定圆弧的弧长?或者说怎么确定弧线的拱高??ARCMAP里面有提供输入弧线数据的功能没有??请教大吓。。。

喜欢0 评分0
默认头像
路人甲
路人甲
  • 注册日期2006-11-14
  • 发帖数23
  • QQ6805791
  • 铜币149枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-03-21 10:39
学习以下。。。。。。
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-06-06
  • 发帖数141
  • QQ39308652
  • 铜币110枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-07-16 14:38
斑竹ARCMAP里面有没有直接输入参数,确定弧线的弧长等的功能啊??
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-06-06
  • 发帖数141
  • QQ39308652
  • 铜币110枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-07-16 14:30
看看先。。
举报 回复(0) 喜欢(0)     评分
默认头像
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
4楼#
发布于:2004-07-16 12:00

arcmap提供几种arc的绘制方法

下面是例子里的一个东东

IEllipticArc Example

 Public Sub Test()

     ' Get the Application Handle and the display

     Dim pMxApp As IMxApplication, pSDisplay As IScreenDisplay

     Set pMxApp = MxApplication

     Set pSDisplay = pMxApp.Display

     

     'Use IEllipticArc.PutCoords to Input the Center, Start and End points to create an EllipticArc.

     Dim pCPt As IPoint, pSPt As IPoint, pEPt As IPoint

     

     Set pSPt = eCreatePoint(100, 100)

     Set pCPt = eCreatePoint(250, 100)

     Set pEPt = eCreatePoint(400, 100)

     

     Dim pEllipticArc As IEllipticArc

     Set pEllipticArc = New EllipticArc

     

     'Draw a Elliptic arc with Solid line symbol.

     pEllipticArc.PutCoords False, pCPt, pSPt, pEPt, 3.14, 1 / 3, esriArcClockwise

     DisplayArc pMxApp, pSDisplay, pEllipticArc, esriSLSSolid

     

     'Use IEllipticArc.QueryCoords to get the statistics of the elliptic arc.

      

     Dim pEArc As IEllipticArc

     Set pEArc = pEllipticArc

     Dim NL As String, TB As String

     NL = Chr(13) ; Chr(10)    ' Define newline.

     TB = Chr(9)    ' Define tab

     

     MsgBox "The statistics of the Elliptic arc are: " + NL + _

            "Center Point : " + NL + _

            "  X coord: " + TB + Str(pEArc.CenterPoint.x) + NL + _

            "  Y coord: " + TB + Str(pEArc.CenterPoint.y) + NL + _

            "IsCircular: " + TB + Str(pEArc.IsCircular) + NL + _

            "From Angle: " + TB + Str(pEArc.fromAngle(False)) + NL + _

            "Central Angle: " + TB + Str(pEArc.CentralAngle) + NL + _

            "To Angle: " + TB + Str(pEArc.ToAngle(False)) + NL + _

            "IsLine: " + TB + Str(pEArc.IsLine) + NL + _

            "IsPoint: " + TB + Str(pEArc.IsPoint) + NL + _

            "IsMinor: " + TB + Str(pEArc.isMinor) + NL + _

            "IsCCW: " + TB + Str(pEArc.IsCounterClockwise)

 

 End Sub

 

 Public Function eSimpleLine(currStyle) As ISimpleLineSymbol

     Set eSimpleLine = New SimpleLineSymbol

     eSimpleLine.Style = currStyle

 End Function

 

 Public Sub DisplayArc(pMxApp As IMxApplication, pSDisplay As IScreenDisplay, pEArc As IEllipticArc, currStyle)

     Dim lOldActiveCache As Long

     lOldActiveCache = pSDisplay.ActiveCache

      

     'Add the new arc to a segment collection.

     Dim pSeg As ISegment

     Set pSeg = pEArc

   

     Dim pPolyline As ISegmentCollection

     Set pPolyline = New Polyline

     pPolyline.AddSegment pSeg

     With pSDisplay

        .ActiveCache = esriNoScreenCache  ' esriNoScreenCache = -1

        .StartDrawing pMxApp.Display.hDC, esriNoScreenCache

        

        .SetSymbol eSimpleLine(currStyle)

        .DrawPolyline pPolyline

        

        .FinishDrawing

        .ActiveCache = lOldActiveCache

     End With

 End Sub

 

 Public Function eCreatePoint(x As Double, y As Double) As IPoint

     Set eCreatePoint = New Point

     eCreatePoint.PutCoords x, y

 End Function

 
[此贴子已经被作者于2004-7-16 12:05:26编辑过]
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部