'VCL作図 '2004/12/17   by Den Dim Acad 'これは必ず宣言 Dim VCL, SV, SH, MH, ST, dims '使用する変数を記入 Call Main 'メインルーチン呼出し Private Sub Main() 'メインルーチン開始 Set Acad = CreateObject("AcadRemocon.Body") 'AcadRemoconの宣言 重要です(^^♪ Acad.acGetVar "dimscale", dims 'AutoCADの環境変数取得 Acad.acGetVar "dimgap", dgap Acad.GetIniVal VCL, "VCL", "DenVCL" 'AcadRemoconの設定ファイルから値を取得 Acad.GetIniVal SV, "ScaleV", "DenVCL" Acad.GetIniVal SH, "ScaleH", "DenVCL" Acad.GetIniVal MH, "TextH", "DenVCL" Acad.GetIniStr ST, "Tanni", "DenVCL" Do 'メインループ開始 DialogCreate 'ダイアログ作成&表示 Do 'イベント監視ループ Acad.dlWaitEvent CtrlName, CtrlValue, CtrlListIndex 'イベント発生待ち Select Case DialogEvent(CtrlName, CtrlValue, CtrlListIndex) 'イベント処理 Case vbOK: Exit Do Case vbCancel: Er: Exit Sub End Select Loop While True 'イベント監視ループ終了 VCL = Acad.dlGetValue("cmb1") SV = Acad.dlGetValue("cmb2") SH = Acad.dlGetValue("cmb3") MH = Acad.dlGetValue("cmb4") ST = Acad.dlGetValue("cmb5") Acad.PutIni VCL,"VCL", "DenVCL" Acad.PutIni SV,"ScaleV", "DenVCL" Acad.PutIni SH,"ScaleH", "DenVCL" Acad.PutIni MH,"TextH", "DenVCL" Acad.PutIni ST,"Tanni", "DenVCL" Acad.dlUnload 'ダイアログアンロード Acad.acPostCommand "^C^Cucs^Mw^M" 'UCSをワールド座標にする Do 'サブループ開始 If Not Acad.acDxfOut("【勾配線を選択、[Enter]でメニューへ】", "", False) Then Er: Exit Do If Not Acad.DxfExtract(N, EP, "ENTITIES", "", "LINE", "10|11|20|21|8|6|62|370") Then Er: Exit Sub If N <> 2 Then Acad.acShowMessage("線分は2本のみ選択してください"): Er: Exit Do LA=EP(5,1) LT=EP(6,1) If LT="" Then LT="ByLayer" CO=EP(7,1) If CO="" Then CO="ByLayer" Else CO=Acad.vbVal(CO) LW=EP(8,1) Select Case LW Case "" LW="ByLayer" Case " -2" LW="ByBlock" Case " -3" LW="Default" Case Else LW=LW/100 End Select For I=1 to 2 For N=1 to 4 EP(N,I)=Acad.vbVal(EP(N,I)) Next Next If EP(1,1)