

AcadからIJCADへのコンバートをしています。下記コードのGetEntityでクリック点座標を  
取得し、それをGetPointへ渡していますがラバーバンドをしてもらえません。何か別の方法があるのでしょうか？

[code]

    Dim ptPick As Object = Nothing    'ptPickはﾋﾟｯｸ位置
    
    ptPick = Nothing
    On Error Resume Next 'GetEntityでErrの場合ｽﾙｰさせる
    '------------------<管または桝を選択>
    DOC.Utility.GetEntity(Myobj, ptPick, vbCrLf & txt)
    '------------------
    If Err.Number <> 0 Then GoTo UU 'Pickはずれの場合
    x1 = ptPick(0)
    y1 = ptPick(1)
    ChkPrint("ｸﾘｯｸ点=(" & Format(x1, "0.00") & "," & _
                 Format(y1, "0.00") & ") ｸﾘｯｸしたものは" & _
                 Myobj.objectName & " Lay=" & Myobj.Layer)
    
    '------------------<表示位置始点ｸﾘｯｸ> IJCADではﾗﾊﾞｰﾊﾞﾝﾄﾞできない
    ptPick = DOC.Utility.GetPoint(ptPick, _
             "描き出し位置をクリックして下さい:")
    '------------------
    If Err.Number <> 0 Then GoTo UU
    x2 = ptPick(0)
    y2 = ptPick(1)
    
[/code]

ソースコードを以下に書換えて実行して見ました

[code]

        Dim ptPick(0 To 2) As Double
        On Error Resume Next 'GetEntityでErrの場合ｽﾙｰさせる
        '------------------<管または桝を選択>
        DOC.Utility.GetEntity(Myobj, ptPick, vbCrLf & txt)
        '------------------
        If Err.Number <> 0 Then GoTo UU 'Pickはずれの場合
        x1 = ptPick(0)
        y1 = ptPick(1)
    
        Dim ptPick2(0 To 2) As Double
        On Error Resume Next
        '------------------<表示位置始点ｸﾘｯｸ> IJCADではﾗﾊﾞｰﾊﾞﾝﾄﾞできない
        ptPick2 = DOC.Utility.GetPoint(ptPick, vbCrLf & _
                  "描き出し位置をクリックして下さい:")
        '------------------
        If Err.Number <> 0 Then GoTo UU
        x2 = ptPick2(0)
        y2 = ptPick2(1)
    
[/code]

これでもラバーバンドが出ません？（座標は正常に得られています）

これから以下をやってみます  
（１）参考のコードをそのままコピーして実行してみる  
（２）何か環境の問題かもしれないのでIJCADの設定を調べてみる


CC BY-SA 4.0
2019-11-08T03:11:08.820
60344
2020-07-08T16:04:30.397
2019-11-15T08:59:39.760
36531
36531
question
ijcad
IJCADのGetPointでラバーバンドができない

[code]

    Dim ptPick As Object = Nothing    'ptPickはﾋﾟｯｸ位置
    
[/code]

を

[code]

    Dim ptPick As Variant  'ptPickはﾋﾟｯｸ位置
    
[/code]

に変更してみてください。

追記①  
VB.NET2008であれば、

[code]

    Dim ptPick(0 To 2) As Double
    
[/code]

に変更してみてください。

追記②  
エンティティの選択、座標の入力、エンティティの移動を行うサンプルコードを作成して、IJCAD上で実行してみたところ問題なくラバーバンドが表示されていました。  
[![画像の説明をここに入力](https://i.stack.imgur.com/05MHf.png)](https://i.stack.imgur.com/05MHf.png)

サンプルコードは以下の通りです。

[code]

    Dim app As GcadApplication = New GcadApplication
    app.Visible = True
    If app.Documents.Count = 0 Then
        app.Quit()
        Exit Sub
    End If
    
    Dim doc As GcadDocument = app.ActiveDocument
    
    Dim center(0 To 2) As Double
    center(0) = 50
    center(1) = 50
    center(2) = 0
    doc.ModelSpace.AddCircle(center, 50.0)
    
    Dim obj As GcadEntity = Nothing
    Dim pickPt1(0 To 2) As Double
    doc.Utility.GetEntity(obj, pickPt1, vbCrLf + "Select entity")
    
    If Err.Number <> 0 Then GoTo EndLabel
    
    Dim pickPt2(0 To 2) As Double
    pickPt2 = doc.Utility.GetPoint(pickPt1, vbCrLf + "Input point")
    
    If Err.Number <> 0 Then GoTo EndLabel
    
    obj.Move(pickPt1, pickPt2)
    
    EndLabel:
    app.Quit()
    
[/code]


CC BY-SA 4.0
2019-11-08T05:04:08.140
60350
2019-11-12T02:13:14.543
2019-11-12T02:13:14.543
60344
answer