ࡱ> %#C/?Root Entryg @,The VBA Project  ֗g_VBA_Project ֗gVBA Project Data" . $K3FJ4; 0=PQyTUXp^_`abcdegtx{|}Root Entry: 5The VBA Project  ֗: _VBA_Project ֗: VBA Project Data"! ( '"&4=;>*+,125 6789:<0@yGHLMNOSVWYZ[\fhijklnopqrsuvwyz~ & !"#'()+,-./0123456789H;=>?@ABDEFGIJLMNOPQSTVWXYZ[\]^_`abcdefghijklmnpqrsuwyz|~Host Project Items& Host Project Item Names0 ֗: VBA Project Signature, Project_Data_CurVer(% &L{CF9F97BF-39F2-4B8E-835C-8BE9E99DAF5B}C#AID="{885370F8-AE4E-43A7-A328-8520300F26F9}" Module=modGetAngle Class=clsGetAA Package={AC9F2F90-E877-11CE-9F68-00AA00574A4F} BaseClass=frmGetAngle BaseClass=frmRotateToAngle Module=modRo & !"#'()*+,-./0123456789H;=>?@ABDEFGIJKLMNOPRSTUVWXYZ[\]^_`abcefghijlmpqrsuwyz|~Host Project Item List Data8$VBA ֗: PROJECTwmPROJECT Host Project Items& Host Project Item Names0 ֗}gVBA Project Signature, Project_Data_CurVer(% VBFrame/UserForm1 ,m ,m__SRP_9i04 n``Rc"0iotateElements Class=clsRotate180 Class=clsRotateToActiveAngle Class=clsRotateToSelected Class=clsAA2Pnts Name="ActiveAngleAssistant" HelpContextID="0" VersionCompatible32="393222000" CMG="5250E6563C5A3C5A3C5A3C5A" DPB="A4A61008305B315B315B" GC="F6F442FAC61E191F191FE6" [Host Extender Info] &H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000 [Workspace] rU~~~~~~~~~~~~~e  &L{CF9F97BF-39F2-4B8E-835C-8BE9E99DAF5B}C#AID="{885370F8-AE4E-43A7-A328-8520300F26F9}" Module=modGetAngle Class=clsGetAA Package={AC9F2F90-E877-11CE-9F68-00AA00574A4F} BaseClass=frmGetAngle BaseClass=frmRotateToAngle Module=modRoHost Project Item List Data8$VBA ֗gPROJECTwmPROJECT modGetAngle=22, 33, 886, 519, clsGetAA=44, 66, 908, 552, frmGetAngle=42, 58, 906, 544, , 110, 165, 1196, 848, C frmRotateToAngle=0, 0, 0, 0, C, 66, 99, 1238, 512, modRotateElements=22, 33, 1194, 446, clsRotate180=0, 0, 0, 0, C clsRotateToActiveAn  dblRadians 1elepntFixedelement I  Q ( I 8 I H I Q XVBFrame/UserForm1 ,m ,mfrmRotateToAngle""i04 n``Rc"0iotateElements Class=clsRotate180 Class=clsRotateToActiveAngle Class=clsRotateToSelected Class=clsAA2Pnts Name="AngleManager" HelpContextID="0" VersionCompatible32="393222000" CMG="EFED5B4EA5D290D690D690D690D6" DPB="DEDC6A7FB681A482A482A4" GC="CDCF796C875A885A88A5" [Host Extender Info] &H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000 [Workspace] modGrU~}   dblRadians 1 I h I yx I  CancelButtonShiftXYdblAnglegle=0, 0, 0, 0, C clsRotateToSelected=0, 0, 0, 0, C clsAA2Pnts=110, 165, 1282, 578, Z Z*\C\\CBBEL-NT-SRVR-3\CADSTDS\ApplimodGetAnglemodGetAngleclsGetAAclsGetAAfrmGetAnglefrmGetAnglefrmRotateToAnglefrmRotateToAnglemodRotateElementsmodRotateEleetAngle=22, 33, 886, 519, clsGetAA=44, 66, 908, 552, frmGetAngle=42, 58, 906, 544, , 110, 165, 1196, 848, frmRotateToAngle=0, 0, 0, 0, C, 66, 99, 1238, 512, modRotateElements=22, 33, 1194, 446, clsRotate180=0, 0, 0, 0, C clsRotateToActiveAngle=0elepntFixedelementcdblRadians 1elepK*mZ*\C\\CBBEL-NT-SRVR-3\CADSTDS\Applic\V8CAD_STDS\WorkspaceV8\System\vba\genMicroStation.mvbarU~~~~~~~~~h  gEXL Tw    , 0, 0, 0, C clsRotateToSelected=0, 0, 0, 0, C clsAA2Pnts=110, 165, 1282, 578, Z Z*\C\\CBBEL-NT-SRVR-3\CADSTDS\ApplimodGetAnglemodGetAngleclsGetAAclsGetAAfrmGetAnglefrmGetAnglefrmRotateToAnglefrmRotateToAnglemodRotateElementsmodRotateElementsclsRotate180clsRotate180clsRotateToActiveAngleclsRotateToActiveAngleclsRotateToSelectedclsRotateToSelectedclsAA2PntsclsAA2Pnts6@ ,  CloseModevalue  1qILocateCommandEventspoint mentsclsRotate180clsRotate180clsRotateToActiveAngleclsRotateToActiveAngleclsRotateToSelectedclsRotateToSelectedclsAA2PntsclsAA2Pnts6@ , 1Yy1fo L/CompObjafrmGetAngle! "0ioCompObj{pclsRotateToActiveAngle.}clsRotateToSelected( -V(clsAA2PntsmwmodGetAngle.__SRP_23__SRP_32clsGetAATq(__SRP_5KclsRotate1800fo*,}CompObj{pdirQ__SRP_0- k__SRP_1)  !"#$%&'(*-RmodGetAngle8+__SRP_2/r__SRP_3.nclsGetAA(clsAA2Pntsw_VBA_PROJECT]$fo*,}frmGetAngle/Ug__SRP_6" __SRP_7UefrmRotateToAngle").__SRP_8 fCo<CompObj:pMmodRotateElements$q)__SRP_4k__SRP_5dclsRotate180 )b     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL RQSPUVWXYZ[\]^modRotateElements$)frmRotateToAngle"&i*WJOoq __SRP_4(Rf$x_VBA_PROJECTER'dir*__SRP_01 ) __SRP_1 1IViewdrawModeAcceptedIyY 0* pHdActiveAngleAssis tant.@  =  aHPD J< 9stdole>stdole f%\*\G{00020430v-C 0046}#2.0#0#C:\WINNT\system32\STDOLE2.TLB# Autom`ation/MSFor ms>SFErms$3DD452EE1-E08F-101A-8-02608C4D0BB4DSDFM20.DLL#Microsoft 9 \ Object Library/;C1s00}#0#K*mZ*\C\\CBBEL-NT-SRVR-3\CADSTDS\Applic\V8CAD_STDS\WorkspaceV8\System\vba\genMicroStation.mvbarU~~~~~~~~~~~~~~~~~~~~@ ( -cL|Lb   a 1Yya 1 qQa #)q1a 9iAq1i9i 9i1Q  )IyY A1 [)Gs[# AngleManager modGetAngleclsGetAA frmGetAnglefrmRotateToAnglemodRotateElements clsRotate180clsRotateToActiveAngleclsRotateToSelected clsAA2PntsF /C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLLVBA a 09K\靯[:C:\Program Files\Bentley\Program\MicroStation\USTATION.EXEMicroStationDGN Y @0FC:\WINNT\system32\STDOLE2.TLBstdole P.E .`M C:\WINNT\System32\FM20.DLLMSForms ii`׌ĆQNActiveViewAnglepoM 4nglei07@txth EyxH  WW0  (  lx88#8#t*#p  2tp!84 l 84@8$ `l$ l $ l8l$ ll= \ll\ ( ll= `l\`  IY 2C:\DOCUME~1\AKARAVAK\LOCALS~1\Temp\VBE\MSForms.exd Aiip GetAngle2PntsGetAngle SetStartAngleProcessAngleOptions   Rotate180RotateToActiveAngleRotateToSelectedRotateElementAboutZOkIZQ{zJ߰`l VY  RotateElementRotateOriginElementPlaceRotatePoint ?UM5}i}GСOɠgӲJzUsKPLۜP)@G"XU:Qq%K RҋB ` optViewAngle!-6S` ! ȏ[qJ eUserForm&屢LO9( F3Dynamic 1 ?F`frmViewOptions{lFWJOcmdDisplayAADialog"-?@ lblTolerance cmdGetAnglecmdSetStartAngle:B!F B ` txtWorldAnglelbl15degLabel1oym'vspnbtn45lblActiveViewAngleBҋB ` chkAngleLockspnbtn15txtAngleTolerance optWorldAnglechkFirstOrFourthQuadrantchkSevenDegreesOfSlopLabel2spnbtn90Label3 spnbtn180 txtViewAngle lblAddValue cmdSetBy2Pntscmd180cmdRotateToAngle txtAddValuecmdAligntxtActiveViewAngle cmdOptionschkAngleLock_ClickchkFirstOrFourthQuadrant_Click cmd180_ClickcmdAlign_ClickcmdDisplayAADialog_ClickcmdGetAngle_ClickcmdOptions_ClickcmdRotateToAngle_ClickcmdSetBy2Pnts_ClickcmdSetStartAngle_ClickcmdSetToView_Clickspnbtn15_SpinDownspnbtn15_SpinUpspnbtn45_SpinDownspnbtn45_SpinUpspnbtn90_SpinDownspnbtn90_SpinUpspnbtn180_SpinDownspnbtn180_SpinUptxtActiveViewAngle_Exitq#ttxtAddValue_ExittxtAddValue_MouseDowntxtAngleTolerance_ExitSetSelectedAngle LoadDefaultstxtAngleTolerance_MouseDowntxtViewAngle_ExittxtViewAngle_MouseDowntxtWorldAngle_ExittxtWorldAngle_MouseDownUserForm_InitializeUserForm_QueryClose SaveDefaults keepunder360JustSpun ҋB ` 0Get Element Angle: plus "Get Element Angle+=h8+3q^\{ ˖ISQì*=h8+3qpJ;AN.!=h8+3qClassPgv3+3o VBInternal  @JgsPMILocateCommandEvents qILocateCommandEvents_AcceptVӶGGΗCfILocateCommandEvents_CleanupILocateCommandEvents_Dynamics !ILocateCommandEvents_LocateFailed !ILocateCommandEvents_LocateFilter  ILocateCommandEvents_LocateResetILocateCommandEvents_Start d4TTkX|B)/hQZ? FDIU|i!.*PMVBE6.DLL  1 PipCҋB ` \71PMďYl| tcb->anglernd    VBA_GETANGLE_TOP+G;I3+_ "VBA_GETANGLE_LEFT JVBA_GETANGLE_chkFirstOrFourthQuadrant DVBA_GETANGLE_chkSevenDegreesOfSlop 4VBA_GETANGLE_optWorldAngle)pPM Select Element &To set Active Angle TTo set Start Angle or Reset to set to zero (Start Angle set to 0 <Set Start or Get Element Angl  e   fĤIx8< fError in clsGETAA sub ILocateCommandEvents_Cleanup        S ActiveAngleAssistant\ActiveSettingsangleA AxisOriginILocateCommandEventsm_oStartElement?element[ m_tStartPointPoint3drILocateCommandEvents_AcceptrpointViewIerro ElementAngleMsgBoxRvbCrLfovhi28#+ n``oqqCompObj%'tnVBFrameo1j0 A86C48CD7-51A3-4E85-9DAE-AD979@249591 6DOCUME~1\AKARAVAK\LOCALS@Temp\VBE\T.exd @nMicrkS@ainrZ*\C\\CBBEL-NT-SRVR-3\CAD@S\AppliPc\V8_BWorkspaceV8\o\vba\ .mC`rD . a modGetG@,dG3tAngUB 2 THB1mB,B o!B"+clsAG@sFAj2rqoY @4 cp"(%!frm!f9>m!!oP9oK|q RoMeTo5@aR5tAMeT'`I6q2eM/] -851`*J#ElementsGAmTdIEKmgti2ms8־+O O#180G `cO1860P2o)?0q)r&?'G Yl&ic@cBv n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q 4F {0h+World Angle5Tahoma4F _{1h+View Anglee5TahomaH,<,5Tahoma$(Active View Angle:poL*A 2 & ~SelfedG&o ! Spx ey`LIlsCToE2O1M? ? DV?  lsAA2P-#A`S2PS-2+ 0]+]q>GetAngle2PntsGetAngle SetStarU $`$`$`@` a=4) +4!`a=+4I` A  )  !"#$%&'(*NAO_`acdefghijklmnorstuvwxyz{|}~am  *\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLL#Visual Basic For Applications,*\G{CF9F97BF-39F2-4B8E-835C-8BE9E99DAF5B}#8.0#0#C:\Program Files\Bentley\Program\MicroStation\USTATION.EXEfrmGetAngleQZfCo<CompObj:p#Bentley MicroStation DGN 8.0 Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINNT\system32\STDOLE2.TLB#OLE Automation*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\WINNT\System32\FM20.DLL#Microsoft Forms 2.0 Object Library *\G{86C48CD7-51A3-4E85-9DAE-AD9792495914}#2.0#0#C:\DOCUME~1\AKARAVAK\LOCALS~1\Temp\VBE\MSForms.exd#Microsoft Forms 2.0 Object Library.E .`M *\C\\CBBEL-NT-SRVR-3\CADSTDS\Applic\V8CAD_STDS\WorkspaceV8\System\vba\genMicroStation.mvba.*\CgeclsRotateToActiveAngle.}frmRotateToAngle"&i*WJOoq clsRotateToSelected( V(f$xQ  )IyY A1 gc\@E'FXGetActiveAngle modGetAngleclsGetAA frmGetAnglefrmRotateToAnglemodRotateElements nMicroStation.mvbarD  baHDa modGetAngle0Q44da4811modGetAngleo0m#clsGetAA0T44da48527clsGetAAp0Y frmGetAngle0S44da4852frmGetAngleK|0P frmRotateToAngle0K44da4811_ frmRotateToAngle5H]"modRotateElements0R44da4811d"modRotateElements־`8 clsRotate1800M44da4811sclsRotate1800x,clsRotateToActiveAngle0N44da4811w,clsRotateToActiveAngle~&clsRotateToSelected0O44da4811{&clsRotateToSelectedVclsAA2Pnts0P44da48111clsAA2Pnts] x0H`}@* Pl5tKRk!N0/U_FȐ~ gCxO~N =^>jrYKA3Yft=i΂%LO|92^wUS^UD+mpJޢ@ 13Xa Implements MicroStationDGN8 VBAWin16~Win32MacVBA6# clsRotate180clsRotateToActiveAngleclsRotateToSelected clsAA2PntsF /C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLLVBA a 09K\靯[:C:\Program Files\Bentley\Program\MicroStation\USTATION.EXEMicroStationDGN Y @0FC:\WINNT\system32\STDOLE2.TLBstdole P.E .`M C:\WINNT\System32\FM20.DLLMSForms ii` n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q 4F {0h+World Angle5Tahoma4F _{1h+View Anglee5TahomaH,<,5Tahoma$(Active View Angle:poL׌ĆQNIY 2C:\DOCUME~1\AKARAVAK\LOCALS~1\Temp\VBE\MSForms.exd Aiip GetAngle2PntsGetAngle SetStartAngleProcessAngleOptions   Rotate180RotateToActiveAngleRotateToSelectedRotateElementAboutZOkIZQ{zJ߰`l VY  RotateElementRotateOriginElementPlaceRotatePoint AngleManager!stdole`MSFormsC genMicroStationH modGetAngle _Evaluate(blnStartAngleMode| (GetAngle2Pnts IsNumeric$* frmGetAngle txtAddValuevalueKCaptionxVisibleshow vbModelessZ  CommandStateStartPrimitivek clsAA2Pnts(GetAngleR StartLocateo clsGetAAI (SetStartAngleF(ProcessAngleOptionsv dblRadianst dblDegrees.dblSelectedDegreesddblViewRotation(  AngleManager:iveAngleD@  0* pHd AngleMan ager<@ = v HGDD<Vrstdole>stdole f%\*\G{00020430v-C 0046}#2.0#0#C:\WINNT\system32\STDOLE2.TLB# Autom`ation^MSFor ms>SFErms$3DD452EE1-E08F-101A-8-02608C4D0BB4DSDFM20.DLL#Microsoft 9 \ Object Library/;C1s00}#0#j0A86C48CD7-51A3-4E85-9DAE-AD979@249591 6DOCUME~1\AKARAVAK\LOCALS@Temp\VBE\T.exd @nMicrkS@ainrZ*\C\\CBBEL-NT-SRVR-3\CAD@S\AppliPc\V8_BWorkspaceV8\o\vba\ .mC`rD . a modGetG@,dG3tAngUB 2 HB1I,B o!EB+BclsAGE@sFAj2kro #@ cp"(%!frm!f9>m!!oC9!K|q RoѠMeTo5 c R5tAMeT'`I6q2eM/] (51`J#ElementsGAmTdIEKmgti2ms8־+O O#180G `cOdblWorldAngle) dblViewAnglexdblWorldAngleRound}dblViewAngleRound?DegreesrGchkFirstOrFourthQuadrantQ@ txtWorldAngle+blnSLOPPchkSevenDegreesOfSlopfZFirstOrFourthQuadrantAnglé GetViewAnglelblActiveViewAngletxtActiveViewAnglee txtViewAngle(  chkAngleLockRoundtxtAngleTolerance optWorldAngleD+ ShowPromptaRadiansActiveSettingsangleA AxisOriginILocateCommandEventsm_oStartElement?element[ m_tStartPointPoint3drILocateCommandEvents_AcceptrpointViewIerro ElementAngleMsgBoxRvbCrLf Description  vbCritical+}Number-ILocateCommandEvents_CleanupXo ShowStatusBeep StopDynamics SILocateCommandEvents_DynamicsFdrawMode2MsdDrawingMode3 GetViewAngle25SetLocateCursor!ILocateCommandEvents_LocateFaileds!ILocateCommandEvents_LocateFilter AcceptedtmsdElementTypeArc5msdElementTypeLineJ1860P2o)y?0q)r&?ctived@,rc@cBv*A 2bz@l@0) Բ~SeledG&/ ASpx ey`L lsCToE2O1MI? ? V?  lsAA2*P- A`S2NPS-2n# + K]q> $rU $`$`$`@` a=4) +4!msdElementTypeLineStringDmsdElementTypeComplexStringfamsdElementTypeShapemsdElementTypeTextndmsdElementTypeTextNode>cmsdElementTypeCellHeaderzOcellK CellElementw ILocateCommandEvents_LocateResetStartDefaultCommandILocateCommandEvents_Startlc^LocateCriteriaCreateLocateCriteria+>SetLocateCriterianj ShowCommand7ActivateUstnWindow$dblEnteredViewDegreesÛdblEnteredWorldDegreesjchkAngleLock_ClickNAngleLockEnabledt7chkFirstOrFourthQuadrant_ClicklEnabled۪ cmd180_Click CadInputQueuel SendCommandccmdAlign_Click+cmdDisplayAADialog_Click-cmdGetAngle_Click͸cmdOptions_Click3V cmdOptionsHeight|cmdRotateToAngle_Click[lcmdSetBy2Pnts_Click cmdSetStartAngle_ClickcmdSetToView_ClickJ optViewAnglee keepunder360LSetSelectedAngle~ vbInformationnSetFocusspnbtn15_SpinDownU,JustSpunTspnbtn15_SpinUpospnbtn45_SpinDownSspnbtn45_SpinUp spnbtn90_SpinDownspnbtn90_SpinUp]spnbtn180_SpinDownRspnbtn180_SpinUptxtActiveViewAngle_ExitͣCancel ReturnBooleane ShowMessageEmsdMessageCenterPriorityWarningEtxtAddValue_ExittxtAddValue_MouseDownButtonShiftYlSelStartZ SelLengthtxtAngleTolerance_Exits FormatNumber/ AngleAccuracy7SetCExpressionValueUGetCExpressionValue6JCleardblAngle LoadDefaults.6blnUseDefaultsActiveWorkspace?IsConfigurationVariableDefineddTop5ConfigurationVariableValuenStartUpPositiongtxtAngleTolerance_MouseDownRtxtViewAngle_ExitÈtxtViewAngle_MouseDowntxtWorldAngle_Exit7txtWorldAngle_MouseDownOVUserForm_Initialize5cUserForm_QueryClose CloseMode؟ SaveDefaults AddConfigurationVariable'w^|oUJr#)]6 lSa Implements MicroStationDGN8 VBAWin16~Win32MacVBA6# GetActiveAnglestdole`MSFormsC genMicroStationH modGetAngle _Evaluate(blnStartAngleMode| (GetAngle2Pnts IsNumeric$* frmGetAngle txtAddValuevalueKCaptionxVisibleshow vbModelessZ  CommandStateStartPrimitivek clsAA2Pnts(GetAngleR StartLocateo clsGetAAI (SetStartAngleF(ProcessAngleOptionsv dblRadianst dblDegrees.dblSelectedDegreesddblViewRotation( dblWorldAngle) dblViewAnglexdblWorldAngleRound}dblViewAngleRound?DegreesrGchkFirstOrFourthQuadrantQ@ txtWorldAngle+blnSLOPPchkSevenDegreesOfSlopfZFirstOrFourthQuadrantAnglé GetViewAnglelblActiveViewAngletxtActiveViewAnglee txtViewAngle(  chkAngleLockRoundtxtAngleTolerance optWorldAngleD+ ShowPromptaRadiansActiveSettingsangleA AxisOriginILocateCommandEventsm_oStartElement?element[ m_tStartPointPoint3drILocatez< (Rotate180 intSelectediisFenceOrSelectionSet"getElementsFromFenceOrSelectionSet clsRotate180`(RotateToActiveAngle8# clsRotateToActiveAngle(RotateToSelected clsRotateToSelected(RotateElementAboutZ0elepntFixedRotationMatrixMatrix3dsEltranss Transform3d]AxisgcZq"Matrix3dFromVectorAndRotationAngleA&Transform3dFromMatrix3dAndFixedPoint3d1 Transform (RotateElement> dblLineAngleCommandEvents_AcceptrpointViewIerro ElementAngleMsgBoxRvbCrLf Description  vbCritical+}Number-ILocateCommandEvents_CleanupXo ShowStatusBeep StopDynamics SILocateCommandEvents_DynamicsFdrawMode2MsdDrawingMode3 GetViewAngle25SetLocateCursor!ILocateCommandEvents_LocateFaileds!ILocateCommandEvents_LocateFilter AcceptedtmsdElementTypeArc5msdElementTypeLineJmsdElementTypeLineStringDmsdEle elnumElements p3dCenter\CacheE DesignFileIsActive IsTextElement\oTxt TextElement1GetElementCenter|RedrawmsdDrawingModeErasebRewrite'IIsTextNodeElementDoTxtNode.FTextNodeElement= IsCellElement(RotateOriginElement'OriginF AsCellElement؛(PlaceRotatePointelPoint LineElementD AsTextElementUAsTextNodeElement yCreateLineElement2 LineWeightGmsdDrawingModeTemporary~fblnItemsHaveBeenSelectedJReset>MoveNextL!CurrenteChrK~SelectFromEnumerator}N ShowErrordblActiveAngleRadians(DdblCurrentElementsRadiansydblRoatationDifferenceRads Point3dZero8I SendResetBdblSetElementRadians blnAngleSetdblCurrentElementRadiansIPrimitiveCommandEvents2W m_arrayPointsH m_nPointsPIPrimitiveCommandEvents_Cleanup !IPrimitiveCommandEvents_DataPointĮ StartDynamicsGoViewlsci\CursorInformationvvec13Vector3dvec23matrixn CurrentView!Vector3dFromMatrix3dTimesVector3dERotationeVector3dSubtractPoint3dPoint3dVector3dFromXYVector3dAngleBetweenVectorsXY$ IPrimitiveCommandEvents_DynamicsoLineIPrimitiveCommandEvents_KeyinTKeyinKIPrimitiveCommandEvents_ResetsIPrimitiveCommandEvents_Start_ OnProjectLoadaUserFormNfrmViewOptionscmdDisplayAADialogj( lblTolerance3 cmdGetAnglecmdSetStartAnglespnbtn15lbl15deg\Label1,spnbtn45Label2,spnbtn90Label3, spnbtn180;l lblAddValue_ cmdSetBy2Pnts3cmd180TcmdRotateToAnglecmdAlignaClickSpinDownSpinUpp MouseDowns InitializeN QueryCloseTClassAccept*CleanupDynamics LocateFailed,0 LocateFilterH; LocateReset&StartActiveAngleAssistant|1_ 7 e sbw{@ I$'?$'  $'6 6 $ '6 6A4ko ,B@rn samF -------------------------xa]xME, $( SS S< L "p    .     0@HPX` hx ,     ( 0 L8 L L"(8 @X<p  > 0 @H >P"   L > L0"  .   L h L"&" J0    L  xpF --------------------------------------------------------------------- Class variablesF --------------------------------------------------------------------- ele]@D0 , Array mentTypeComplexStringfamsdElementTypeShapemsdElementTypeTextndmsdElementTypeTextNode>cmsdElementTypeCellHeaderzOcellK CellElementw ILocateCommandEvents_LocateResetStartDefaultCommandILocateCommandEvents_Startlc^LocateCriteriaCreateLocateCriteria+>SetLocateCriterianj ShowCommand7ActivateUstnWindow$dblEnteredViewDegreesÛdblEnteredWorldDegreesjchkAngleLock_ClickNAngleLockEnabledt7chkFirstOrFourthQuadrant_Clicklof points from userh]@DX , Number of points supplieddianF ---------------------------------------------------------------------ub IopF ---------------------------------------------------------------------8 _DataPoint stores Point3d placed by user in our arrayF ---------------------------------------------------------------------  '  @p ~  +#Place second point, reset to cancleA@h ,B@ ]x("selected Elements angle in Radians]]]]] . !. ! $$$ $'?$'  $'< < $ '< <A: ,B@.koF ---------------------------------------------------------------------F _Dynamics: draw shape using point array and current cursor locationF ---------------------------------------------------------------------0]display view angle $$L'BActive View Angle: B#0.0000$ !Z($ 8 Draw line from first point to current cursor location]D$ ~$.  B@ko8 ------------------------------------------------------- o`F ------------------------------------------------------------------Enabled۪ cmd180_Click CadInputQueuel SendCommandccmdAlign_Click+cmdDisplayAADialog_Click-cmdGetAngle_Click͸cmdOptions_Click3V cmdOptionsHeight|cmdRotateToAngle_Click[lcmdSetBy2Pnts_Click cmdSetStartAngle_ClickcmdSetToView_ClickJ optViewAnglee keepunder360LSetSelectedAngle~ vbInformationnSetFocusspnbtn15_SpinDownU,JustSpunTspnbtn15_SpinUpospnbtn45_SpinDownSspnbtn45_SpinUp spnbtn90_SpinDowns---8 When user resets, create a shape from our point arrayF --------------------------------------------------------------------- Restart command ,B@.d8#Set Active Angle by 2 points exitedA@h ,B@koF --------------------------------------------------------------------- Command starts hereF ---------------------------------------------------------------------Set Active Angle by 2 pointsA@Place first angle pointA@hD Clear point array and point count each time we start this command r'ohF ---------------------------------------------------------------------fAttribute VB_Name = "clsAA2Pnts"D Bas0{FCFB3D2A-A0FA-1068-A738-08002B3@371B5} |G lobalSpacFalse dCreatablPredecdlaIdCE xposeTemplateDerivCustomiz EOption 0lic0it 0 I/eme IPrimit3CommandEvpnbtn90_SpinUp]spnbtn180_SpinDownRspnbtn180_SpinUptxtActiveViewAngle_ExitͣCancel ReturnBooleane ShowMessageEmsdMessageCenterPriorityWarningEtxtAddValue_ExittxtAddValue_MouseDownButtonShiftYlSelStartZ SelLengthtxtAngleTolerance_Exits FormatNumber/ AngleAccuracy7SetCExpressionValueUGetCExpressionValue6JCleardblAngle LoadDefaults.6blnUseDefaultsActiveWorkspace?IsConfigurationVariableDefineddTop5ConfigurationVariableValuenStartUpPositiongtxtAngleTolerance_MouseDownRtxtViewAngle_ExitÈtxtViewAngle_MouseDowntxtWorldAngle_Exit7txtWorldAngle_MouseDownOVUserForm_Initialize5cUserForm_QueryClose CloseMode؟ SaveDefaults AddConfigurationVariable dblLineAngle elnumElements p3dCenter\ ' -A$ Clas@s variVs ./v@J m_arrayPoi@5() As 3d 'AA of pB from user nInteger0NumbsuppliedXO#B_G%Subk_Cleanup()AEnd Xa _DE Y@reU@cbyQ in our Bc 3 F (; g?, _  8ByVal Viewb&A4m_>=Ie+ 1*ReDim& {Eve,N0 To- 1 SG @ ShowPRpt "Plseco:, /et to canclNe xSt`b.rtDynamLic`nIfH= 2 Then!dblRa diansA&Doub `'select?Elang@ &oI/Kci CursorInforma!vec1Vor3@mm$ CacheE DesignFileIsActive IsTextElement\oTxt TextElement1GetElementCenter|RedrawmsdDrawingModeErasebRewrite'IIsTextNodeElementDoTxtNode.FTextNodeElement= IsCellElement(RotateOriginElement'OriginF AsCellElement؛(PlaceRotatePointelPoint LineElementD AsTextElementUAsTextNodeElement yCreateLineElement2 LineWeightGmsdDrawingModeTemporary~fblnItemsHaveBeenSelectedJReset>MoveNextL!CurrenteChrK~SelectFromEnumerator}N ShowErrordblActiveAngleRadians(DdblCurrentElementsRadiansydblRoatationDifferenceRads Point3dZero8I SendResetBdblSetElementRadians blnAngleSetdblCurrentElementRadiansIPrimitiveCommandEvents2W m_arrayPointsH m_nPointsPIPrimitiveCommandEvents_Cleanup !IPrimitiveCommandEvents_DataPointĮ StartDynamicsGoViewlsci\CursorInformationvvec13Vector3dvec23matrixn CurrentView!Vector3dFromMatrix3dTimesVector3dERotationeVector3dSubtractPoint3dPoint3dVector3dFromXYVector3dAngleBetweenVectorsXY$ IPrimitiveCommandEvents_DynamicsoLineIPrimitiveCommandEvents_KeyinTKeyinKIPrimitiveCommandEvents_ResetsIPrimitiveCommandEvents_Start_ OnProjectLoada AngleManager!1_ 7 e  sw{@ I yx(% @0x8xx`xa]xME, $( SS S< L "p    .     0@HPX` hx ,     ( 0 L8 L L"(8 @X<p  > 0 @H >P"   L > L0"  .   L h L"&" J0    L  xpF --------------------------------------------------------------------- Class variablesF --------------------------------------------------------------------- ele]@D0 , Array of points from userh]@DX , Number of points supplieddianF ---------------------------------------------------------------------ub IopF ---------------------------------------------------------------------8 _DataPoint stores Point3d placed by user in our arrayF ---------------------------------------------------------------------  '  @p ~  +#Place second point, reset to cancleA@h ,B@ ]x("selected Elements angle in Radians]]]]] . !. ! $$$ $'?$'  $'< < $ '< <A: ,B@.koF ---------------------------------------------------------------------F _Dynamics: draw shape using point array and current cursor locationF ---------------------------------------------------------------------0]display view angle $$L'BActive View Angle: B#0.0000$ !Z($ 8 Draw line from first point to current cursor location]D$ ~$.  B@ko8 ------------------------------------------------------- o`F ------------------------------------------------------------------2 rixMaxS *= a= ci. r@Og'"= F:Timesb(B .Ro@6,& ]tractn3d(+I1),@9I0))$O!#""XY(1#, 0# T(=GA9Betweencs  , \ - (Get% 2CG&Callkocess"Cs( xk.teC/BCm M{ QIf6VRZtGoR7: draw shapeQingCgQ v cur1$qP/ loc4/ c~s_%BoSkS/PU, T!1Moder5sdD A9.qCDdisdy v!YC = Degreeso$ewa$frm&"#.lblAcA#Ca3`-: " + FF& , "#0.0" #$ٰS(1 [6\)SQAQ linefirstq[_NoL+51VrIKeh2(NothB, 2.Rer+a33?*)_)_)s_Kepyin(C&#S[ng;;Wpbvs, c" a<xs_ResetÞ (('tart cR##/REA&3B5 byp2s exi0Default \X$??3s her@`s_hre% "wC"FrEreRpunt each t0 we3 As[!Erʅ"= _7OE1 0  8 pH     T 0 8 @ LxZaVxME( $SS Sx L  ( 0  68p    `  (  0  8 pH     T 0 8 @  H "P X :`      "   < > ` x  "     2 ( 0 @ x]@]@]@0$,this is set to true if an angle has been set; This is called when the user enters a data point after the & LocateFilter has accepted an element ~ ]8]P]h]!selected view roatation value]  v ~$'  (make positive numberls $Lh $j'andEvekP X$L'B! $L'D B D 'F Fh Fh $j'd F$j'k ^!N!" $L$V$j'k' to Rotate to $L#0.00$$A@hdHCURRENT VIEW ROTATION v ~$'3dblSetElementRadians = ElementAngle(element, point)  ,make positive number $Lh $j'k X$L'B $L'D B D 'F Fh Fh $j'd F$j'k   ' ^!`!" v Ad v Ak to Rotate to $L#0.00$$(or Reset to choose new set angle elementA@hk0|(  S7Error in clsRoatate180 sub ILocateCommandEvents_Accept  !  !A@no ^A@r ,B@ohnot usedo@not usedo   v.t'  v!l KT(Set Angle from Arc Element Accept/RejectA@h' K K KT+Set Angle from Line Element - Accept/RejectA@h' K KT+Set Angle from Text Element - Accept/RejectA@h' KT*Set Angle from Shape Element Accept/RejectA@h' KT] v.Set Angle from Cell ! - Accept/RejectA@h'S8element type # v!l$ is not valid type to set angle fromA@hA@nd]/don't allow for selection of reference elements ,%.  ,B@ v!l K KT Rotate Text to $L#0.00$$ - Accept/RejectA@h vA' KT v.  Roate Cell ! to  $L#0.00$$ - Accept/RejectA@h vA'S(Can not rotate element type # v!l only text & cells are vaildA@hA@nko 4if already set an angle go back to setting a new oneAdP ,B@k8o0]X6 Since this command does modify the original element,7 set the locate criteria to allow Editing of elements. ,%.  ,B@Set to element angle locate'Select ElementA@To Set Angle FromA@h+makes the microstation view the active viewAoAttribute VB_Name = "clsRotateToSelected" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |@GlobalSpacIFalse dCreatablPredeclaIdC@ExposeTempltDerivCustomiz EOption 0lici@t I&ements ILoc,CommandEv P4 dblSetElRadians As Doux m_oStarɁ1blnAngle(Boolean 'this set to true if a has been (' TD callDwhthe@ user 1e@rs a df point aft@ ' 1>FilAac8cep.SubJ_AB (By0Val H?, x_ 8G#@QP!%3d, Vi,ew)9Di2mA`Ro1AqDifferenceǀbaD Curk Worldcsz/'s@8 v*r% valu O@rror GoTo err8If Not: ɆT@rMR= QB (d.,<& r< 0FE 'makesitj numbe@atd`(De@grees()@ + 360dEnd Ifj,= Get!" 5G   +aJg c#& >=A%"a!-I !P(!Gfrm.chkFirstOrFourthQuadrant.bT!TAgLq) e= @, a )C*^=bShowPrompt "#" & Format]"#0.00")Chr(h176E1CURRENT VIEW ROTATION@!n ')vO3vV $k= ;lm;;O"R;j4;SC!`4=:&<@,g<@p.O<@"P@mm߇-_ P SAopt^C@C C ed+'f x NOriginbl 3 Aq@BAT), AQB"@zRecho nTw+ ExHit ~:4 ct CѸtй#I1Msg@Box "Ei n Be180 so"d 1x vbCrLfP@.DescriҰ, p, N  { g'_Cup(Unload ](S.PrtDefaul>tϟ_Dynamics(OrwModeMsdDr`awing 'notd  _4aieagP-D )Ӻ`*tz =e#S=> +G/ena%0.Typ52msdDCArcWu A> `'om Ų  /Rejp;u Qw_ eLine, q1StrP$@plex  from Line Element - Accept/Rejec`t" |ed = True@ "Case msdTypeText,&NodANShowPpt "Set Angle HEZShap+OONCellHe0ader Dim Oc As> ŏWC = eC d " &.Name"}Els_D,d t #!D.A"is not@ valid tho s@aFBeepAEnd S@ctC( ^lcA]LocateCriteriaC 'don't allow for#lion of referenceds j= CommandSta@.Cre(=) J K lc "0)?cc?~w?~Ro "}@5:Format(Degrees(dblDZRadians), "#0.0h0")>_c Chr(176!?T4 PlacecPoint(d"+e %h/uy@dy?tmARoA~sD*4$?-,-_*$_*V*!CanBrK7yonly t`@IAs are@i=Ie+ 1*ReDim& {Eve,N0 To- 1 SG @ ShowPRpt "Plseco:, /et to canclNe xSt`b.rtDynamLic`nIfH= 2 Then!dblRa diansA&Doub `'select?Elang@ &oI/Kci CursorInforma!vec1Vor3@mm$ 2 rixMaxS *= a= ci. r@Og'"= F:Timesb(B .Ro@6,& ]tractn3d(+I1),@9I0))$O!#""XY(1#, 0# T(=GA9Betweencs  , \ - (Get% 2CG&Callkocess"Cs( xk.teC/BCm M{ QIf6VRZtGoR7: draw shapeQingCgQ v cur1$qP/ loc4/ c~s_%BoSkS/PU, T!1Moder5sdD A9.qCDdisdy v!YC = Degreeso$ewa$frm&"#.lblAcA#Ca3`-: " + FF& , "#0.0" #$ٰS(1 [6\)SQAQ linefirstq[_NoL+51VrIKeh2(NothB, 2.Rer+a33?*)_)_)s_Kepyin(C&#S[ng;;Wpbvs, c" a<xs_ResetÞ (('tart cR##/REA&3B5 byp2s exi0Default \X$??3s her@`s_hre% "wC"FrEreRpunt each t0 we3 As[!Erʅ"= _7OE1B5 byp2s exi0Default \X$??3s her@`s_hre% "wC"FrEreRpunt each t0 w%)~%i   % 0  $%%b"t0` 00x00aHD    B( ,p"      08H PX` hfp "   " (8 "@HPX`  h x          "  ( 8  @ `  p  Z      j(      "   "  < >P   LxZaVxME( $SS Sx L  ( 0  68p    `  (  0  8 pH     T 0 8 @ k| S7Error in clsRoatate180 sub ILocateCommandEvents_Accept  !  !A@n o ^A@r ,B@onot usedox]]]]  fB@ f!b f!.v v $' X'F  F   ' v A B@ko   v.t'get current active angle l!n' v!l K KT Rotate text to $L$ from center Accept/RejectA@h vA' KT] v. Rotate cell ! to  $L$ from origin Accept/RejectA@h vA'SHA@n8o0 ,B@ ,B@o0]p6 Since this command does modify the original element,7 set the locate criteria to allow Editing of elements. ,%.  ,B@get current active angle l!n' f$'A@A@ "Selected Elements (in active file)A@ rotate to $L$ Accept/RejectA@hdhSelect ElementA@ to rotate to $L$ Accept/RejectA@hkoAttribute VB_Name = "clsRotateToActiveAn@gle" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobaBlSpacIFalse dCre atablPr@edeclaIdCExposeTempluDertCus tomiz EOp tion 0licit I&ements ILoc,CommandEv P4 dblRadians @As Doux  m_oStartEl,eblnItemsHaveBeednSctz'B@oolean='@ This callwhen the user (ers a d@] poin`t aft@  ' 4Fil ha ccepan N%Sub A_AB (ByV al 5, _ \ #3P%3d, View) DimaVCurr3Ls3W Ro:qDiffe ce bD Ai O@rror GoTo errZ.xT!= %(M,C\0D= G|etFCU0=l (@И-HF) SI cIf frmA.optCbG.valuuTrTKC N !EbL Origin ; nd IfA5Exit i U `7:g Ca(:KMsg@Box "EB@i n AJe180 s;` " &i]vbCrLf`.DescribD, !itiv, Numbe@MM!E`# bu.b凶pCup(D"Unload;#"Ęte.‘Default?Ƞ_Dynamics(z({e~drawMode!!qMsdDing!d'notaděai`"!sA DfDr < oּ= 0nelnumCed.Rese`ԃ! aDo WhWYMoveNeFxSetfZ=Cc"1=EnOr, T]Zer>o4WPe _Den\PavP cMMOfLoop'CadInputQueu6end!>K߁-/?_{w-w:{  "?=A#ҋ#S= # Q'g 'cC| ab af@/mCt@s.s0]C.Ty~ppA1s^m,sdeaT1, ?NHShowPrompt "Co t to2_Degrees z12)`Chr(176 f cBw s/Reject5)Pl Sb6)'D ?eCellHeadhOOcLAt"S,"e`llR.r&/?""pom ou pb (;@@}9c2Y~?~ts?Cu~||opxǟ~dwG _!!lFc sHCripiaS@Si`[Pa does modify],@nl "7ow Edpng of%ms.( = *u2e (13et lcSoMeoMtgoMnMSѠ Z= OFBEp~erator0*ected)  ShowCommand ""ErrorD\If blnItemsHaveB@eenSel ThenJ ZElements (in active file)C9Prompt "rotate to " & Degrees(dblA;AngleRad ians) Ch r(176 " Accept/R ej_Else}Q PGDNII"fJ ESub o`not usedo]X  fB@ f!b f!.nxa0xME( $SS S0H X h x 04&$(P X hx]@]@@; This is called when the user enters a data point after the the e& LocateFilter has accepted an element hP ^!`!" v$jA d v$jAk)Call RotateElement(element, Radians(180))| S7Error in clsRoatate180 sub ILocateCommandEvents_Accept  !  !A@80n8o0  ^A@r ,B@o`not usedo]X  fB@ f!b f!.v ^!`!" v$jAdP v$jAk0(k o x v.t' v!l K KTRotate text 180$ from center Accept/RejectA@h vA' KT]( v. vA Rotate cell ! 180$ from origin Accept/RejectA@h'SA@noH ,B@(ActiveModelReference.UnselectAllElements ,B@o`]6 Since this command does modify the original element,7 set the locate criteria to allow Editing of elements. ,%.  ,B@ f$'A@A@ &Selected Cell or Text (in active file)A@ rotate 180$  Accept/RejectA@hdSelect Element Cell or TextA@ to rotate 180$ A@hko#Attribute VB_Name = "clsRotate180" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobalSpacFalse dCreatablPredeclaIdCExpose TemplDerivCustomiz EOption 0licit I&ements ILoc,Comm`andEv P4 m_oSt artEl AHs e blnItemsHaveBeenSctSBoolean)' This callwhen the user  .valuTrTF!CL b(Da, Radians(@) =AE¨AOriginnd IfC ' Exit _ ?:CC CAHE +MsgBox "EQin B@ s: " &7vbCrLf`.Descria, !iti Q,4.Numbe{5&E`#au.b8]KC!]up(0Unload.>#"n`kte.rtDefault?v_Dynamics(TYOVXdrawModeAYMsdDing!d'no:ttd$vai}"Dim0n#"c = belnum4ed.Rese7aDo Wh MoveNexSet=,Currscayy?j zke |eF \}aLoop`!aC`g`!oV# P iq"j#S= Dw#4I#m.Typ}1wJmsdSaTP$, ?N`41ShowPrompt "3\4 t አICh@r(176)"Bom c` /Rejectq#Pl0bi5aHQ4 ?eCellHeadQaSFErms$3rU $` $A`$`$`(. 2 a־xME4 $(,0h*` "%  % 0 % P$% p(% `::)wh%i< `> ` H % h%  % $% (% `!!)w0% P,% p%g@x xx d xx aHD*\R1*#12e*\R1*#120*\R1*$9$*\Rffff*0R44da4811  F( Dp $  P P Xp N P h "px    "  (0@P `px " "  J8 @ P `p  2 "  208@H P X   p         0 @ X hx    .   0 8 @HP XZ`  "  2 ( 0 8   P` h ,x          ,0  ` p               0 @ H P X ` h Zp   "  H 0 8 @ X x                 0 @ .`    xversion 1.02 11-05-05-Se@added option to rotate about center or the origin of the elementis=added some more types to match angle from to RotateToSelected.revised some text for prompts version 1.01 10-15-05Iadded sub that makes microstation view have the focus instead of the formversion 1 - 7-04-05RProject goals - Rotate selected (single, fnc or selection set) element 180 degreesH- Rotate selected (single, fnc or selection set) element to active angleI- Select element to set angle then rotate selected elements to this angle] x ]`'l!  n'l * ^B@( ^!N(hi lrr p.f B@d .fk ,B@4(ox]'ld!" n'l * ^B@( ^!N(rn lMG p.fd.fkx ,B@4glo` * ^B@(.0 ,B@4o0]]C Create a rotation matrix for rotating with the Z direction fixed.] ( frm ($ txt (ce_E  <$'   $'`+ Apply the transform to rotate the elementangle  ~B@seo ,Rotate the selected element about the centerA@]]]] v!!! b v!ve ang] v.F-- v$'--  B@-- v  <A@|------ B@-- B@LoadDek v!empt t]8 v.cation v$' W  B@-- v  <A@|------ B@------ B@------k H "P X :`      "   < > ` x  "     2 ( 0 @ x]@]@]@0$,this is set to true if an angle has been set; This is called when the user enters a data point after the & LocateFilter has accepted an element ~ ]8]P]h]!selected view roatation value]  v ~$'  (make positive numberls $Lh $j'andEvekP X$L'B! $L'D B D 'F Fh Fh $j'd F$j'k ^!N!" $L$V$j'k' to Rotate to $L#0.00$$A@hdHCURRENT VIEW ROTATION v ~$'3dblSetElementRadians = ElementAngle(element, point)  ,make positive number $Lh $j'k X$L'B $L'D B D 'F Fh Fh $j'd F$j'k   ' ^!`!" v Ad v Ak to Rotate to $L#0.00$$(or Reset to choose new set angle elementA@hk0|(  S7Error in clsRoatate180 sub ILocateCommandEvents_Accept  !  !A@no ^A@r ,B@ohnot usedo@not usedo   v.t'  v!l KT(Set Angle from Arc Element Accept/RejectA@h' K K KT+Set Angle from Line Element - Accept/RejectA@h' K KT+Set Angle from Text Element - Accept/RejectA@h' KT*Set Angle from Shape Element Accept/RejectA@h' KT] v.Set Angle from Cell ! - Accept/RejectA@h'S8element type # v!l$ is not valid type to set angle fromA@hA@nd]/don't allow for selection of reference elements ,%.  ,B@ v!l K KT Rotate Text to $L#0.00$$ - Accept/RejectA@h vA' KT v.  Roate Cell ! to  $L#0.00$$ - Accept/RejectA@h vA'S(Can not rotate element type # v!l only text & cells are vaildA@hA@nko 4if already set an angle go back to setting a new oneAdP ,B@k8o0]X6 Since this command does modify the original element,7 set the locate criteria to allow Editing of elements. ,%.  ,B@Set to element angle locate'Select ElementA@To Set Angle FromA@h+makes the microstation view the active viewAoAttribute VB_Name = "clsRotateToSelected" Bas0{FCFB3D v!`]X v. <(p3dCenter = element.AsCellElement.OriginLE v$'  B@ v  <A@|VBA_ B@EFT7 B@kk| S,Error in modRotateElement sub RotateElement  !  !A@r Fourn8o0x,Rotate the selected element about the center]]]0]P v!!! v!]p v.%p3dCenter = GetElementCenter(element) !'  B@ v  <A@| B@ B@k v!] v.%p3dCenter = GetElementCenter(element) !'  B@ v  <A@| B@ B@k@ v!] v. v!!'  B@ v  <A@| B@ B@kk| S,Error in modRotateElement sub RotateElement  !  !A@n(o Bplace a temp point at the center or origin of the selected element]8]X ^!`!"if by center of element v$'dpif by origin of element v!l KT v!!' KT v!!' KT v!!'nk  $. (elPoint.Color = 240'ActiveModelReference.AddElement elPoint  B@oXPxAttribute VB_Name = "modRotateElements" Option Explicit 'versH1.02 11-050added o`to r about cer or the igin of enBsomore @types Kmatch angle fromToS?cted?revisAtext fqbp0pts1]0-1]subHat mak;microswview havJ`focus insteayc5m 2 - 7-04Project goals ^ s^ (sin, fnc () (Dim]t Intege inG@= -1 KisFenceOr@WSefrmToAa.show vbMod 1s@ZNchkFirstOrFourthQuadrant.EnaDbl= FzeIRIf -<>& pThenZ"D= getF.qjElsAQNoangEnd IfcCommPandS~.rtLoc@ N]cls/ 12 &"G&444`4.4444bi44240V5f4!E^_DG2E$YAyZ(j~, pntFixf PoD3d, dblRadiansaDo e`ObS`xMaxA#3@eElt{rTa_' Cre]a# dng withbZ dirf.# yAx.X0YZg= e!V orAn`na %`$ =  b$(gApplyx~}T3.P^B/*!n '" Sygߴ! c`%D#tg%aLineRe~liX kQ px3dCÎ PrrGoTo erkaD.Cache.DesignFile.IsAyueFilAac8cep.SubJ_AB (By0Val H?, x_ 8G#@QP!%3d, Vi,ew)9Di2mA`Ro1AqDifferenceǀbaD Curk Worldcsz/'s@8 v*r% valu O@rror GoTo err8If Not: ɆT@rMR= QB (d.,<& r< 0FE 'makesitj numbe@atd`(De@grees()@ + 360dEnd Ifj,= Get!" 5G   +aJg c#& >=A%"a!-I !P(!Gfrm.chkFirstOrFourthQuadrant.bT!TAgLq) e= @, a )C*^=bShowPrompt "#" & Format]"#0.00")Chr(h176E1CURRENT VIEW ROTATION@!n ')vO3vV $k= ;lm;;O"R;j4;SC!`4=:&<@,g<@p.O<@"P@mm߇-_ P SAopt^C@C C ed+'f x NOriginbl 3 Aq@BAT), AQB"@zRecho nTw+ ExHit ~:4 ct CѸtй#I1Msg@Box "Ei n Be180 so"d 1x vbCrLfP@.DescriҰ, p, N  { g'_Cup(Unload ](S.PrtDefaul>tϟ_Dynamics(OrwModeMsdDr`awing 'notd  _4aieagP-D )Ӻ`*tz =e#S=> +G/ena%0.Typ52msdDCArcWu A> `'om Ų  /Rejp;u Qw_ eLine, q1StrP$@plex  from Line Element - Accept/Rejec`t" |ed = True@ "Case msdTypeText,&NodANShowPpt "Set Angle HEZShap+OONCellHe0ader Dim Oc As> ŏWC = eC d " &.Name"}Els_D,d t #!D.A"is not@ valid tho s@aFBeepAEnd S@ctC( ^lcA]LocateCriteriaC 'don't allow for#lion of referenceds j= CommandSta@.Cre(=) J K lc "0)?cc?~w?~Ro "}@5:Format(Degrees(dblDZRadians), "#0.0h0")>_c Chr(176!?T4 PlacecPoint(d"+e %h/uy@dy?tmARoA~sD*4$?-,-_*$_*V*!CanBrK7yonly t`@IAs are@i% %@aHD[  "  " 4 (X   " @   & ,0` hp &x ,  : ,( @X ,  2( ,0 ` 2    2   (8 @ "H BP   <,,0>`00  "   40 hx xoh@-Sets the default setting for the current formint !Default Setting is to be readable'N `("A8oX9Attempt to load the last Location from the User Workspace]': <VBA_ROTATETOANGLE_TOP7>VBA_ROTATETOANGLE_TOP7BX (@d':kVBA_ROTATETOANGLE_LEFT7>VBA_ROTATETOANGLE_LEFT7BX (0d(':k*VBA_ROTATETOANGLE_chkFirstOrFourthQuadrant7> " &form First or Fourth Quadrant selected*VBA_ROTATETOANGLE_chkFirstOrFourthQuadrant7BX, N("k`VBA_ROTATETOANGLE_optCenter7> Rotate about CenterVBA_ROTATETOANGLE_optCenter7BX, `("xkVBA_ROTATETOANGLE_optOrigin7> Rotate about Origin VBA_ROTATETOANGLE_optOrigin7BX, b("k@q8 : ,Set Windows default position of Center Owner3x% (Dd (Dko;Attempt to store the curren ( 8  @ `  p  Z      j(      "   "  < >P        , @PD x]@]@]@0; This is called when the user enters a data point after the& LocateFilter has accepted an element  ]8]P]h0 v ~$' X'F  F   ' ^!`!"% v Ad v Ak| S7Error in clsRoatate180 sub ILocateCommandEvents_Accept  !  !A@n o ^A@r% ,B@onot usedox]]]]  fB@ f!b f!.v v $' X'F  F   ' v A B@ko   v.t'get current active angle l!n' v!l K KT Rotate text to $L$ from center Accept/RejectA@h vA' KT] v. Rotate cell ! to  $L$ from origin Accept/RejectA@h vA'SHA@n8o0 ,B@ ,B@o0]p6 Since this command does modify the original element,7 set the locate criteria to allow Editing of elements. ,%.  ,B@get current active angle l!n' f$'A@A@ "Selected Elements (in active file)A@ rotate to $L$ Accept/RejectA@hdhSelect ElementA@ to rotate to $L$ Accept/RejectA@hkoAttribute VB_Name = "clsRotateToActit Location in the User Workspacefor use next time.H <6Set the last parameter to TRUE to write to config file VBA_ROTATETOANGLE_TOP !@X C@X"VBA_ROTATETOANGLE_LEFT !X C@X *VBA_ROTATETOANGLE_chkFirstOrFourthQuadrant N!"X,C@XVBA_ROTATETOANGLE_optCenter `!"X,C@XVBA_ROTATETOANGLE_optOrigin b!"X,C@Xqo T.User clicked X, for now, just don't allow this 'dStore the current locationAV'kHo@8FAttribute VB_Name = "frmRotateToAngle"  Bas0{9DE54056-59E5-4F4F-9840-023D9A06DF0F}{678AA625-AB87-4B57-AF41-C2F10593A49F} dGlobaBlSpacoFalse Cre atablPr@edeclaI"dTru BEx0pose0TemplDerivCustomizD O@ption 2licit P$( Sub chkFirstOrFourthQuadrant_Ck()End Userm_Initialize'Sets the default setting for currentm 'D  i@o be ŀVd4 U*CU optCer.value\Call LoadsX8 6@ct to lCB3lastcaYfromAG WorksA Dim bln As Boolean(C = Ć2With Act@If .IsCo@nfigur&VariS@ined("VBA_ROTATETOANGLE_TOP")T The$Me.Top@CSng(.RV], c)@EBj.'8Q|If$'_LEFT|Lefte  B=%g= =i9!'wm y |lected3 sC_ITP-E_dEd&Z%׀ about #"!v=d1Y Origine@@uDJ21SSpFyOl Windows&m'{0opuof Opwner/RStartUpPos= 1KOF0+ Q @{d9|Savedmj`reiUwLojinja> unexnime.%OPrr?ResuNSi~c1bQrparamete@o TRUE!uw,ripucbk fil.Addgb1l, CStr(@k),t q _Rbav/L"P"Q3(toof3HvE_`=> 8 %GoTo> /.ª`Qu eryCl`(C ancelQIn`tegerModeX0?b= 0> c X,"now, j don't ow3iǁ$1T= -/>'Stol8ld833<B 3AmvV  ,\FV8i D $`$A` $`$$`($`,$A `0$ `4$ `8$  `< $I `@$`D $`H$ `L $I`P$`T ,`X , `\ 8I`` !9Qa ,`d (`hq+$ `l8I`p !9Qa ,`t 8`x !9Qa , `| 8I` !9Qa $`,` &&$  `,I !` ++$ "`n$VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmRorU ##  1 y  A!i!!i" #1 Y L  P  `0`T )  X I! ` \Q iy  ` I `I d I  `Ih ``QlQ iApQ ia ty ``QxQ i|`  yA ` ` a``Q `I Q iA yY``Q iy y``Q ``Q i I`  I!` I9` i``Q I` ` I`#{_ WWW_____  0 H  0   0   0   0 H  0   0   0   0 H  0   0   0   0 H  0   0   0   0 H  0   0   0   0 p  0   0   0   $pzt$ XQtpnp knb'hp lhCjX%,/hkpznp kn'hp lhCjX%,/hpznp kn 5hp lhWXt! t /ht5Xnp knY5hp lhWXt! t /ht5Xnp kn5hp lhWXt! t /ht5Xcp kz(X%,F(X%,F4("pht0   0 x  0   0   0    TcXx! x x5XcXx! x x5XfXx! x x5XcXx! x x5X'Vx$ x kVxcXx! x x5XfXx! x x5Xx x 0x`^@jh%$ ,mX $ @x$ x l@X F,"LLLLLL*Langlernd d!"MGDSHOOKA@0|  KT*Angle Tolerance must be at least 0.0000001A@h tcb->anglernd$2 l!.$, d(" Current Active Angle Tolerance B@4S 0Error in frmGetAngle sub txtAngleTolerance_Exit  !  !A@n`oXJshow prompt that the passed angle has ben set & set the active angle to itActive Angle set to 6#0.00$A@h 6$j'< < l(n((set angle entered to be the active angleopF----------------------------------------------------------------------Sub LoadDefaults(): Attempt to load the last Location from the User WorkspaceF----------------------------------------------------------------------`]': <VBA_GETANGLE_TOP7>VBA_GETANGLE_TOP7BX (@d':kVBA_GETANGLE_LEFT7>VBA_GETANGLE_LEFT7BX (d':k%VBA_GETANGLE_chkFirstOrFourthQuadrant7> &form First or Fourth Quadrant selected%VBA_GETANGLE_chkFirstOrFourthQuadrant7BX, N("k"VBA_GETANGLE_chkSevenDegreesOfSlop7> form Seven Degrees selected"VBA_GETANGLE_chkSevenDegreesOfSlop7BX, T("k@VBA_GETANGLE_optWorldAngle7> form 'form World Angle selectedVBA_GETANGLE_optWorldAngle7BX, f("kq :,Set Windows default position of Center Owner (DdH (Dk0o(highlight any current text dB@ d(& d!" d((o x ^!"$ !("$'set view angle to be the slected option !^!"$ !^(" !^!"X' A@ ^!de do nothingd A@Me.txtViewAngle.SetFocus View Angle value must be numeric A@k o highlight any current text ^B@ ^(& ^!" ^(( !("$'set view angle to be the slected optiono  P!"$ !f("%(set world angle to be the slected option !P!"$ !P(" !P!"X' A@ P!de do nothingd A@!World Angle value must be numeric A@Me.txtWorldAngle.SetFocusk o  highlight any current text PB@ P(& P!" P(( !f("%(set world angle to be the slected optiono  -Sets the default setting for the current form N(",&form First or Fourth Quadrant selected T(",Form Seven Degrees selected f(",form World Angle selected (",form View Angle selected l!'`d'`kq !($$put options button to expand`^@ ($put to small sized form tcb->anglernd$2 l!.$, d("Current Active Angle Tolerance l!n$L l!.$,'^'sets view angle to current active angleA8o AVoF----------------------------------------------------------------------Sub SaveDefaults()< Attempt to store the current Location in the User Workspace for use next time.F---------------------------------------------------------------------- h <6Set the last parameter to TRUE to write to config fileVBA_GETANGLE_TOP !@X C@XVBA_GETANGLE_LEFT !X C@X%VBA_GETANGLE_chkFirstOrFourthQuadrant N!"X,C@X"VBA_GETANGLE_chkSevenDegreesOfSlop T!"X,C@XVBA_GETANGLE_optWorldAngle f!"X,C@Xq o nif the vaule passed to it is over 360 it will subtract 360 untill it gets to a standard 0-259.9999 angle vaule]H ]` "h "h  "'dP "h'Z Z$bX'\ Z \ 'Zh Z'kix  #0.0000$ !^(" #0.0000$ !P(" !f A@dp A@kX|PH  KTValue must be numeric Data Entry ErrorA@ !^B@S "Error in frmGetAngle sub JustSpun  !  !A@noAttribute VB_Name = "frmGetAngle" Bas0{F608BF4A-557A-4B73-96E3-F19E50EC068D}{9CDB4C9,750-4029-9547-8D2202585506} dGlobalSpaco False Cr@eatablPredeclaDIdTru BE`xpose0TemplateDerivCus tomizD Option 1licit Dim dblEnteJViewDegrees As Doue 'value of the 2v aƍ World! w !RadianÑssKmd$.Ca#q"tpaM.Heighta263.25 fv c-121.wYQ,Tob,ukeyiĎ?[$[@ B ;By2Pnt9,'rDKpt2 $jS!p.$rt mi! New clsAA? bA3CaC ToaiAOPlrror GoTo err cSPoptA.k= v'seJt(l >beb-stle1? r<tx? keepunder360(OgOvAv= CDblv$Ey (pxitp :SI< C13S1MsgBohx "1 SCmE numc", vbIn@Ba, "D ry E9 e.* Focus ku) B9d sAmd" " & _ vb0CrLfp@.D`escri"F CBr`.cal,%.Numbet%dBQzxeM{spnbtn15_SpinDownSO c+D  #e6=+ - 15oyo_ t(`@J$S3@hUp 4le® @+edlo ted#@ 94)_ L;@/!+!"U)4>5o)ZgZ- v3 ?? G:):&io dbF+W">>s xuS*90ص_SpinDown() (dblEnteredViewDegrees = CDbl(Me.txt`Angle.value|pWorldr2tykeepunder360(- 90F V#ICall JustSA End Sub Private spnbtnd90Up>+?TTS18S ~T- 4s TEU}~~ +*= ~s }**@Active_Exit(ByVal Cancel As MSForms.ReturnBoolean@(If IsNumeric( $ Then@opMTrue'set v @ aA to be the slected io ` J'c4!SetS6ecB &El se'0Text ""(&'do nothing {@)BF*P FocuscShowMessage4 " c" m ,n9", "`msdDCen \`orityWarn, Fa3IfaddyIueKiKA$NotlL %~ empty o|r uQH Null#UuMouse`5Button5Iger,  Shift X1SleY'%'highl0t3y curr tP% .{ AlStar(0@.LengthR? AQ=TCrE! FF@On ErrGoTo errz! QKatJber oc=ts.1Ac8acy`!CE8xpr04G, " tcb->rJrnd3 s4MGDSHOOK"SwV :3#DWsNe1Ca13SE.Prop- "=V/at least 0.z01DE_ SA= Get(), leu'C)3I .Cp 6Q2TMsgBox ""in frm asub r( " & _vb0CrLfpDe@script , itical,.3&AA00$edr ( vDoubl$'sp[ pthàppassprHhas[n qs&{R!aB}P@`1tit2*#SsvACs& , "##"0 Radian?Ք4| =  ~f0 ~ S '- Loa0faults' Attcl2lq4Loc&a1 `%ombUser Pkspace O- 0Dim blnPDe QTD?L>|Wi?p] 1x.IsConfigurBVaria*ined("VBA_GETANGLE_TOP">)`XҝGuTopCSng(.Vo", True)) ElsehblnUseDefaults =nd IfIf .IsConfigurationVa riablined("VBA_GETANGLE_LEFT")a` ThenLM@e.Left C Sng(.ZValueXchkFirstOrFourthQua drant'form  or   sel`ected 4.vRBool(SV.Xņ@SevenDegreesOfSlopK}  WHGO"FoptWorldAngleDB B" !z/qo #WEFWi|th`򐬄'Set Wind ows dC posi of Center O0wner# St@artUpPe= 1 @/0$ ] Sub  !Private  txt.Tole ~ce_Mouown(By@( Button As I ger, ShiXaSi? EYG'highl`t any curr! tXextc. )Focusl"! qlLength(/%!l%View%_Exit$$CancDelAMSFs.ReturnAHean @FIsNumeric! CY)HG:T `C'sJv'@l to be@ the sC ?c%  keepunder3860( dbdlETed=` CDbl`6SB& (R Z$MT @""'do noth% -B ' {#ShowMessage " GgmustnSPR"0msd$:!orityWarnp, Fa1#6##O6O67O67O6 O6O6K6!55t]55q$o-o-ewo-l-9Lg9999w9s  w!p : / :ut c/w5b?:e=O:!Z: o: o:g:z88 M8;88&t@x @:q5O;qGqqqe(s_;_;qt[;_ gq; $Y;;/@/;:m0ݠ rm_InБalize( 'sm哰ot rŃ03W ˀ_F$' R00PCd(rտTs!Y46k OActiv&e`2s.baLockEn!d{{lsA 8 k Me.cmdOptions.Ca@ = "q" 'put ox button to ex pand frmGetAngle.Height~121.5fsmall sized for&mztx@Tolerance.valueHF)atNumber(gCExpressV"("t cb->a~rnd"), ActiveSettings.Acc@uracy)o'Currentz  >MVHiew= GDegrees(8F$Dsets v0 TMac HCLoadDefaults End Sub Private UserX_QueryClose(Cl As Integer, pModeHJSave'-?@ '/ (' AttemptEstore the GLocra i; Workspace use nex@ime.,AKZ.lOn Error Resume N"IsWith7/'B=last parameterADTRUbEwri{config fil@?.AddCKVariable "VBA_GETANGL@E_TOP" AStr(`TopW0Fals_ N LEFTh Left nchkFirstOYurthPQuad t Bool(#X!?!#! Seven{OfSlop   >ldf n G!~AGIIFMGoTo 0 ublic Funkeepunder360(íDoe)!SCfifBPve`Pss Mit `is ovQ@ wi!ubt@t unta`ga st`ard 0-25x9.9" Dim dblDivis@g !intWh ţˆ If C<FA> -ThenC&̢&^=d /a L= C(Ro*(', 0)$P -iL* Abs( A<RSelecte#5 EM%a{ap#x .@la:s  Ca hf913S1Ms0gBoxpYq m bk@cricAvbInmmRoA Data ryf"e. FocuЂR;ycku sub $ " & _[vbCrLfp.Descri ң, itical, ;bJHalH_H_"(H0drawB> MsdDK!RpRotaB(dis`y va {*= Degrees(!)L2(A) frm.lblEq.CacC acO: 0+ F9`atAE, "#0.0" tx<H }(Rotate Options\( ToptCentergin ( ToptOrigingin frU dD` (Ay4) Y$A`,,@` VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmGetAngle Caption = "Get Element Angle" ClientHe To ActiveAngleant@ 52*cmdAlignRotate To Selectedgl 52*cmdAlign04Ay4) Y$`4 @` 8$A4) #$A`<($`@0 n\rU ) veAn@gle" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobaBlSpacIFalse dCre atablPr@edeclaIdCExposeTempluDertCus tomiz EOp tion 0licit I&ements ILoc,CommandEv P4 dblRadians @As Doux  m_oStartEl,eblnItemsHaveBeednSctz'B@oolean='@ This callwhen the user (ers a d@] poin`t aft@  ' 4Fil ha ccepan N%Sub A_AB (ByV al 5, _ \ #3P%3d, View) DimaVCurr3Ls3W Ro:qDiffe ce bD Ai O@rror GoTo elhxdT40  ( 0 h ( 0  ( 8u#(Xx $  x x5X#(Xx $  x x5X$ ` 9x$ x x:h% $ ,x$ x ,x4$(" xX-pt$ t Llp=x)tp(lx=[pt$ t H)pt$ \ u$ ` $ `t$ t 0t o (("xtpXXXXXXX(3 2`rU $`$`$`(`## $i$  )%!&% (&&'y(Ai@P 04txtViewAnglei07<txtZ Xq``````````````  IIActiveViewAnglepoM 4nglei07@txt  WW0 p ( TKs8uS$ d 9x$ x xx$ x (xt xx ltqpxil xx ,t dd ''lti4*#hll*FT 2hl)xd6T4c$(" , (eS ap`^\{ ˖ISQì*=h8+3qpJ;AN.xpJ;AN.^\{ ˖ISQìMEt $@SS S`Lr0 vz00< >"LLP  "LLLLo4WPe _Den\PavP cMMOfLoop'CadInputQueu6end!>K߁-/?_{w-w:{  "?=A#ҋ#S= # Q'g 'cC| ab af@/mCt@s.s0]C.Ty~ppA1s^m,sdeaT1, ?NHShowPrompt "Co t to2_Degrees z12)`Chr(176 f cBw s/Reject5)Pl Sb6)'D ?eCellHeadhOOcLAt"S,"e`llR.r&/?""pom ou pb (;@@}9c2Y~?~ts?Cu~||opxǟ~dwG _!!lFc sHCripiaS@Si`[Pa does modify],@nl "7ow Edpng of%ms.( = *u2e (13et lcSoMeoMtgoMnMSѠ Z= OFBEp~erator0*ected)  ShowCommand ""ErrorD\If blnItemsHaveB@eenSel ThenJ ZElements (in active file)C9Prompt "rotate to " & Degrees(dblA;AngleRad ians) Ch r(176 " Accept/R ej_Else}Q PGDNII"fJ ESub "pom ou pb (;@@}9c2Y~?~ts?Cu~||opxǟ~dwG _!!lFc sHCripiaS@Si`[Paxa0xME( $SS S0H X h x 04&$(P X hx]@]@@; This is called when the user enters a data point after the& LocateFilter has accepted an element ang hatP ^!`!"sed so v$jA d v$jAk)Call RotateElement(element, Radians(180))| S7Error in clsRoatate180 sub ILocateCommandEvents_Accept  !  !A@80n8o0  ^A@rive an ,B@o`not usedo]X  fB@ f!b f!.v ^!`!" v$jAdP v$jAk0(k o x v.t' v!l K KTRotate text 180$ from center Accept/RejectA@h vA' KT]( v. vA Rotate cell ! 180$ from origin Accept/RejectA@h'SA@noH ,B@(ActiveModelReference.UnselectAllElements ,B@o`]6 Since this command does modify the original element,7 set the locate criteria to allow Editing of elements. ,%.  ,B@ f$'A@A@ &Selected Cell or Text (in active file)A@ rotate 180$  Accept/RejectA@hdSelect Element Cell or TextA@ to rotate 180$ A@hko#Attribute VB_Name = "clsRotate180" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobalSpacFalse dCreatablPredeclaIdCExpose TemplDerivCustomiz EOption 0licit I&ements ILoc,Comm`andEv P4 m_oSt artEl AHs e blnItemsHaveBeenSctSBoolean)' This callwhen the user  .valuTrTF!CL b(Da, Radians(@) =AE¨AOriginnd IfC ' Exit _ ?:CC CAHE +MsgBox "EQin B@ s: " &7vbCrLf`.Descria, !iti Q,4.Numbe{5&E`#au.b8]KC!]up(0Unload.>#"n`kte.rtDefault?v_Dynamics(TYOVXdrawModeAYMsdDing!d'no:ttd$vai}"Dim0n#"c = belnum4ed.Rese7aDo Wh MoveNexSet=,Currscayy?j zke |eF \}aLoop`!aC`g`!oV# P iq"j#S= Dw#4I#m.Typ}1wJmsdSaTP$, ?N`41ShowPrompt "3\4 t አICh@r(176)"Bom c` /Rejectq#Pl0bi5aHQ4 ?eCellHeadQa` % % 0'l % P$% p(% `::)w%i<`>g wi`ixed H % h %  % + $% e th(% `!!)w0% P,% p%g@x xx B@d xx HGD*\R1*#12e*\R1*#120*\R1*$9$*\Rffff*0R44da46da  F( Dp $  P P Xp N P h "px    "  (0@P `px " "  J8 @ P `p  2 "  208@H P X   p         0 @ X hx    .   0 8 @HP XZ`  "  2 ( 0 8   P` h ,x          ,0  ` p               0 @ H P X ` h Zp   "  H 0 8 @ X x                 0 @ .`    xversion 1.02 11-05-05-Se@added option to rotate about center or the origin of the elementis=added some more types to match angle from to RotateToSelected.revised some text for prompts version 1.01 10-15-05Iadded sub that makes microstation view have the focus instead of the formversion 1 - 7-04-05RProject goals - Rotate selected (single, fnc or selection set) element 180 degreesH- Rotate selected (single, fnc or selection set) element to active angleI- Select element to set angle then rotate selected elements to this angle] x ]`'l n'l * ^B@( ^!N( l p.fd .fk ,B@4ox]'l n'l * ^B@( ^!N( l p.fd.fkx ,B@4o` * ^B@( ,B@4o0]]C Create a rotation matrix for rotating with the Z direction fixed.] ( ($ (  <$'  $'+ Apply the transform to rotate the element  ~B@o ,Rotate the selected element about the center]]]] v!!! v!] v. v$'  B@ v  <A@| B@ B@k v!]8 v. v$'  B@ v  <A@| B@ B@k v!]X v.(p3dCenter = element.AsCellElement.Origin v$'  B@ v  <A@| B@ B@kk| S,Error in modRotateElement sub RotateElement  !  !A@n8o0x,Rotate the selected element about the center]]]0]P v!!! v!]p v.%p3dCenter = GetElementCenter(element) !'  B@ v  <A@| B@ B@k v!] v.%p3dCenter = GetElementCenter(element) !'  B@ v  <A@| B@ B@k@ v!] v. v!!'  B@ v  <A@| B@ B@kk| S,Error in modRotateElement sub RotateElement  !  !A@n(o Bplace a temp point at the center or origin of the selected element]8]X ^!`!"if by center of element v$'dpif by origin of element v!l KT v!!' KT v!!' KT v!!'nk  $. (elPoint.Color = 240'ActiveModelReference.AddElement elPoint  B@oXPxAttribute VB_Name = "modRotateElements" Option Explicit 'versH1.02 11-050added o`to r about cer or the igin of enBsomore @types Kmatch angle fromToS?cted?revisAtext fqbp0pts1]0-1]subHat mak;microswview havJ`focus insteayc5m 2 - 7-04Project goals ^ s^ (sin, fnc () (Dim]t Intege inG@= -1 KisFenceOr@WSefrmToAa.show vbMod 1s@ZNchkFirstOrFourthQuadrant.EnaDbl= FzeIRIf -<>& pThenZ"D= getF.qjElsAQNoangEnd IfcCommPandS~.rtLoc@ N]cls/ 12 &"G&444`4.4444bi44240V5f4!E^_DG2E$YAyZ(j~, pntFixf PoD3d, dblRadiansaDo e`ObS`xMaxA#3@eElt{rTa_' Cre]a# dng withbZ dirf.# yAx.X0YZg= e!V orAn`na %`$ =  b$(gApplyx~}T3.P^B/*!n '" Sygߴ! c`%D#tg%aLineRe~liX kQ px3dCÎ PrrGoTo erkaD.Cache.DesignFile.IsAyue% %@HGD[  "  " 4 (X   " @   & ,0` hp &x ,  : ,( @X ,  2( ,0 ` 2    2   (8 @ "H BP   <,,0>`00  "   40 hx xoh@-Sets the default setting for the current formint !Default Setting is to be readable'N `("A8oX9Attempt to load the last Location from the User Workspace]': <VBA_ROTATETOANGLE_TOP7>VBA_ROTATETOANGLE_TOP7BX (@d':kVBA_ROTATETOANGLE_LEFT7>VBA_ROTATETOANGLE_LEFT7BX (0d(':k*VBA_ROTATETOANGLE_chkFirstOrFourthQuadrant7> &form First or Fourth Quadrant selected*VBA_ROTATETOANGLE_chkFirstOrFourthQuadrant7BX, N("k`VBA_ROTATETOANGLE_optCenter7>` Rotate about Center "VBA_ROTATETOANGLE_optCenter7BX, `("kVBA_ROTATETOANGLE_optOrigin7> Rotate about Origin VBA_ROTATETOANGLE_optOrigin7BX, b("k@q8 :h,Set Windows default position of Center Owner3x% (Dd (Dko;Attempt to store the current Location in the User Workspacepfor use next time.H <6Set the last parameter to TRUE to write to config fileVBA_ROTATETOANGLE_TOP !@X C@XVBA_ROTATETOANGLE_LEFT !X C@X*VBA_ROTATETOANGLE_chkFirstOrFourthQuadrant N!"X,C@XVBA_ROTATETOANGLE_optCenter `!"X,C@XVBA_ROTATETOANGLE_optOrigin b!"X,C@Xqo T.User clicked X, for now, just don't allow this'dStore the current locationAV'kHo@8CAttribute VB_Name = "frmRotateToAngle"  Bas0{24A1EFDF-C648-4541-B7E6-E6E1B08AAE53}{679D09C6-2CCA-4ED3-969JB13D69AE13} d@GlobalSpacoFalse CreatablPredeHclaIdTru BExpose0TemplADerivCustomizD Option 2licit P$( Sub chkFirstOrFourthQuadrant_Ck()1End Userm_Initialize'Sets the default settin g for cu rrentm 'D i@o be Vd4x U*U optCer.vxalue\Call Load}sX8 6@ct` to lB3lHastcaYfromAG Wo8rksA Di`m bln As Boolean(C = Ć2With Act@If .IsConfigur&VariS@ined("VBA_ROTATETOANGLE_TOP")T0 The$Me.TopCSnhg(.RV], c)@EBj.'8QIf$'_LEFT|Lefte  B=%g= =i9!'wm 6 y |lected3 sC_ITP-E_dEd&Z% about #"!v=d1Y Origine@@uDJ21SSpFyOl Windows&m{0opuof Owner/RStar@tUpPos= 1KOF0y+ Q @{d9|S8avedmj`reiUwLojinja> unexnime.OPrr?ResuNSic1bQrparameteo TRUE!uwripucbk fil.Addgb1l, CStr(@k),t q _Rbav/L"P"Q3(toof3H?vE_?`=> 8 %GoTo /.ª`QueryCl`(CancelQInteg erModeX0?b= 03> cX,"now, j don't ow3i$1T= -/>'Stol8ld833<B 3AmvSS<<-H(` p 4     P0 x]@H]@p; This is called when the user enters a data point after the& LocateFilter has accepted an element pP](]@ "selected Elements angle in Radians v ~$'<*0Get the angle in Radians of the selected Element <A:> -| S2Error in clsGetAA sub ILocateCommandEvents_Accept  !  !A@n8o0X Call cleanup "Acti(cleanup sub saves setting & unloads formhe x! "$`|iCaK|xMEPSPSSS<0<<<%0{4B9BFFC7-64EBStart Angle set to 0A@ pA@ l(p(kx ,B@Get |`X SH 3Error in clsGETAA sub ILocateCommandEvents_Cleanup  !  !A@ngle onogl]Pdisplay view angle $$L'BGet Active View Angle: B#0.0000$ !Z($Get B#0.0000$ !\("' ,B@CommandState.StartDynamicsohnot usedo  ~'x v.t' v!l KTArc Element Accept/RejectA@h' K K KTLine Element Accept/RejectA@h' KTShape Element Accept/RejectA@h' K KTText Element Accept/RejectA@h' KT]X v.Cell !  Accept/Reject A@h'S0A@n ox x!  (^ (PStart Angle set to 0A@hA@ l(pkSet Start or Get Element Angle ($ ,B@oH]6 Since this command does modify the original element,7 set the locate criteria to allow Editing of elements. ,%.  ,B@Select ElementA@ To set Active AngleA@hd@*To set Start Angle or Reset to set to zeroA@hkCommandState.StartDynamics ,B@Iadded sub that makes microstation view have the focus instead of the formA@ophAttribute VB_Name = "clsGetAA"  Bas|0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobalSpacAFalse dCreatablPredeclaIdCExposeTemplateDerivCustomiz EOption 0licit I&ements ILoc,CommandEv P4 m_oStartEl As Re tP0oint3d# ' This call^when the@ user 8e@rs a d p!aft " PFil haAccept@a"n#Sub5_AB (ByVal 3, _ '# MsdDK!RpRotaB(dis`y va {*= Degrees(!)L2(A) frm.lblEq.CacC acO: 0+ F9`atAE, "#0.0" txt]val/N=R )eBttpurso@A'+p++QCB/utds_DlaipBnotApr"wuOGyqm_#%p@tq BooK  mz_ }=Sd @>=Wx33zaӄ.Typp111b>msdTmArc5Limpt, "p /RejectMqX Q!W/eLinXe, k1Sng #plex  t = ? eSha1eText1N0i?5O O O O O eCellpHead~EQO>c!A& et S.eQM.+O) O   kzBD"A-hEe4NJEReJs//!gs*,a@[]rbq3A \ha,aa1vengI (l!PÓ!T#Gcefault cS_ecQ+Llc!+4kriiaS' Si*ntc domodifyRo", zl P"Aow Ed fs. = *2e (Pg0 l_ . ShowCommand "Select Element" If blnStartAngleMode = False ThenLTPrompt "To set Active rEpfk2 or Re HtOzeroCJIf N'#?te.EDynamics etLocateCursor'added sub that @makes #rostation view hamthe focus inste`ad of rm'4UstnWindow bE]Sub]%,F4("pht0   0   0   0   0 H   TcXx! x x5XcXa+n! x x5XcXx! rU~|   )! q0   D,hx$ x h x5htC:Xhx$ x hH`F8%$,x6hH8:X%$, $ah.V5hX%$.[$=[ x $  x )$ x\$" $x$ hH80  0   \ lXLP     hh(gg#aoxME0<0"6> "LLLL<4..`: Fxi i"8X'iXi$ H)% J i @ set i"` opti !i$ L ) le v% N H i h st bi" i Xi$curr P  R H ih OKA@iTtateToAngle Caption = "Rotate to Angle" ClientHeight = 1230 ClientLeft = 45 ClientTop = 330 ClientWidth = 3045 StartUpPosition = 1 'CenterOwner TypeInfoVer = 34 End ` 8$ i*WJOMicrosoft Forms 2.0 FormEmbedded Object Forms.Form.19qHF9a0݂Make Angles 1st or 4th Quadrant5Tahoma$$ "}zh4hchkFirstOrFourthQuadrant( #frmRotateme.   n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q,hx$4F a0݂About Center5Tahoma4F a0݂About Origin5Tahoma%$. V ,x  i"( B@4i Erro`Z txt`\     %   %b@ bH @ `x  HxpHH  H  ##H x :h HGD  &&0&X "    "   "  ( @` "h "p& " "  "  D(px "  "  *0` "h "p " " < 8 P ` hpx B  Z@ H "P Xp   "   08 "@ H` x  "    ( "0 8P h  "   "  (@ Xp  "     "   <( h        4 ( 0 " 8 @ (X     "      "    ,@ p x    4  . $  0  ^8   "  P 4 8 :H  L  @ L8"     &  " (0X `h 6p , < 2  "X 8 * & 0H P  X 2h    "     8 " @ H<X   40h p " x   < "  (<8x  6 (H P " X `  < " 46@,x*(  ( 400h . $   . @H " PX` Lh  B  L8"   <&(:06p.    B  t px   " ""@ h x    8  Php x] (value of the view angle]@ (value of the world angle](chosen angle in radiansTH `gle  l(dP l(A@k8o0 !Ne !T(d !T(koRotate element 180Vba Run Rotate180 B@oload the rotate to selectedVba Run RotateToSelected B@o8Hload the active angle dialogdialog activeangle B@o=restarte the getangle process when the form is already loadedA2o !!$qp !($tp@ (d(q !($`^@ (ko runs keyinVba Run RotateToActiveAngle B@oHruns keyin active angle pt2 ,B@.oPA8o8( !("$'set view angle to be the slected option !^!"$ !^(" !^!"X' A@|  KT View Angle value must be numeric Data Entry ErrorA@ !^B@S  ,Error in frmGetAngle sub cmdSetToView_Click  !  !A@no !^!"X' !P!"X'  $'  $'Ao8H !^!"X' !P!"X'  $'  $'Ao !^!"X' !P!"X' - $' - $'AoH !^!"X' !P!"X' - $' - $'Ao !^!"X' !P!"X' Z $' Z $'AoXH !^!"X' !P!"X' Z $' Z $'Ao !^!"X' !P!"X'  $'  $'Aoh !^!"X' !P!"X'  $'  $'Ao \!"$ !("$'set view angle to be the slected option !\!"$ !\(" !\!"X' A@ \!de do nothingd(A@ !\B@ View Angle value must be numeric A@kop !"$Value must be empty or numericA@'  ! B@k`oXhighlight any current text B@ (& !" ((o d!" l!.$, d(" tcb->anglernd d!"MGDSHOOKA@0|  KT*Angle Tolerance must be at least 0.0000001A@h tcb->anglernd$2 l!.$, d(" Current Active Angle Tolerance B@4S 0Error in frmGetAngle sub txtAngleTolerance_Exit  !  !A@n`oXJshow prompt that the passed angle has ben set & set the active angle to itActive Angle set to 6#0.00$A@h 6$j'< < l(n((set angle entered to be the active angleopF----------------------------------------------------------------------Sub LoadDefaults(): Attempt to load the last Location from the User WorkspaceF----------------------------------------------------------------------`]': <VBA_GETANGLE_TOP7>VBA_GETANGLE_TOP7BX (@d':kVBA_GETANGLE_LEFT7>VBA_GETANGLE_LEFT7BX (d':k%VBA_GETANGLE_chkFirstOrFourthQuadrant7> &form First or Fourth Quadrant selected%VBA_GETANGLE_chkFirstOrFourthQuadrant7BX, N("k"VBA_GETANGLE_chkSevenDegreesOfSlop7> form Seven Degrees selected"VBA_GETANGLE_chkSevenDegreesOfSlop7BX, T("k@VBA_GETANGLE_optWorldAngle7> form 'form World Angle selectedVBA_GETANGLE_optWorldAngle7BX, f("kq :,Set Windows default position of Center Owner (DdH (Dk0o(highlight any current text dB@ d(& d!" d((o x ^!"$ !("$'set view angle to be the slected option !^!"$ !^(" !^!"X' A@ ^!de do nothingd A@Me.txtViewAngle.SetFocus View Angle value must be numeric A@k o highlight any current text ^B@ ^(& ^!" ^(( !("$'set view angle to be the slected optiono  P!"$ !f("%(set world angle to be the slected option !P!"$ !P(" !P!"X' A@ P!de do nothingd A@!World Angle value must be numeric A@Me.txtWorldAngle.SetFocusk o  highlight any current text PB@ P(& P!" P(( !f("%(set world angle to be the slected optiono  -Sets the default setting for the current form N(",&form First or Fourth Quadrant selected T(",Form Seven Degrees selected f(",form World Angle selected (",form View Angle selected l!'`d'`kq !($$put options button to expand`^@ ($put to small sized form tcb->anglernd$2 l!.$, d("Current Active Angle Tolerance l!n$L l!.$,'^'sets view angle to current active angleA8o AVoF----------------------------------------------------------------------Sub SaveDefaults()< Attempt to store the current Location in the User Workspace for use next time.F---------------------------------------------------------------------- h <6Set the last parameter to TRUE to write to config fileVBA_GETANGLE_TOP !@X C@XVBA_GETANGLE_LEFT !X C@X%VBA_GETANGLE_chkFirstOrFourthQuadrant N!"X,C@X"VBA_GETANGLE_chkSevenDegreesOfSlop T!"X,C@XVBA_GETANGLE_optWorldAngle f!"X,C@Xq o nif the vaule passed to it is over 360 it will subtract 360 untill it gets to a standard 0-259.9999 angle vaule]H ]` "h "h  "'dP "h'Z Z$bX'\ Z \ 'Zh Z'kix  #0.0000$ !^(" #0.0000$ !P(" !f A@dp A@kX|PH  KTValue must be numeric Data Entry ErrorA@ !^B@S "Error in frmGetAngle sub JustSpun  !  !A@noAttribute VB_Name = "frmGetAngle" Bas0{4B9BFFC7-64EB-4FBA-BB8D-6A880E30C591}{B0835F9E-F43D-4318-AA11-5690E54A 96F4} dGlobalSpacoFalse CreatablPredeclaIdTru BExpose0Templat@eDerivCustomizD Option 1licit Dim d@blEnteJViewDegrees As Do ue 'value of the v aƍ `World! w !RadianGÑssKmbd$.Ca#qv"tpaM.@Heighta263.25 fv c-121.wYQTob,ukeyiĎ?[$[@ B ;By2Pnt,'rDKpt2 $jS!p.rt mi! New clsAA bA3CaC Toai AOPlrror GoTo err SPoptAe.k= v'(set(l >beb-sle1? r <tx? keepunder36|0(OgOvAv= CDblv$E (qpxitp :SI C13S1MsgBox "1 SCm numc", vbI n@a, "D ry E39e.* Focus ku) B9 sAmd" " & _ vbCrLfp@.Descri"F Cr`.cal,%.Numbet%dBQzxeM{spnbtn15_SpinDownSO c+D  #e6=+ - 15oyo t(`@J}$S3@hUp 4le® @+edlo td#@ 94)_ L;@/!+!"U)45o)ZgZ- v3 ?? G:):&io dbF+W">>s xuS*90ص_SpinDown() (dblEnteredViewDegrees = CDbl(Me.txt`Angle.value|pWorldr2tykeepunder360(- 90F V#ICall JustSA End Sub Private spnbtnd90Up>+?TTS18S ~T- 4s TEU}~~ +*= ~s }**@Active_Exit(ByVal Cancel As MSForms.ReturnBoolean@(If IsNumeric( $ Then@opMTrue'set v @ aA to be the slected io ` J'c4!SetS6ecB &El se'0Text ""(&'do nothing {@)BF*P FocuscShowMessage4 " c" m ,n9", "`msdDCen \`orityWarn, Fa3IfaddyIueKiKA$NotlL %~ empty o|r uQH Null#UuMouse`5Button5Iger,  Shift X1SleY'%'highl0t3y curr tP% .{ AlStar(0@.LengthR? AQ=TCrE! FF@On ErrGoTo errz! QKatJber oc=ts.1Ac8acy`!CE8xpr04G, " tcb->rJrnd3 s4MGDSHOOK"SwV :3#DWsNe1Ca13SE.Prop- "=V/at least 0.z01DE_ SA= Get(), leu'C)3I .Cp 6Q2TMsgBox ""in frm asub r( " & _vb0CrLfpDe@script , itical,.3&AA00$edr ( vDoubl$'sp[ pthàppassprHhas[n qs&{R!aB}P@`1tit2*#SsvACs& , "##"0 Radian?Ք4| =  ~f0 ~ S '- Loa0faults' Attcl2lq4Loc&a1 `%ombUser Pkspace O- 0Dim blnPDe QTD?L>|Wi?p] 1x.IsConfigurBVaria*ined("VBA_GETANGLE_TOP">)`XҝGuTopCSng(.Vo", True)) ElsehblnUseDefaults =nd IfIf .IsConfigurationVa riablined("VBA_GETANGLE_LEFT")a` ThenLM@e.Left C Sng(.ZValueXchkFirstOrFourthQua drant'form  or   sel`ected 4.vRBool(SV.Xņ@SevenDegreesOfSlopK}  WHGO"FoptWorldAngleDB B" !z/qo #WEFWi|th`򐬄'Set Wind ows dC posi of Center O0wner# St@artUpPe= 1 @/0$ ] Sub  !Private  txt.Tole ~ce_Mouown(By@( Button As I ger, ShiXaSi? EYG'highl`t any curr! tXextc. )Focusl"! qlLength(/%!l%View%_Exit$$CancDelAMSFs.ReturnAHean @FIsNumeric! CY)HG:T `C'sJv'@l to be@ the sC ?c%  keepunder3860( dbdlETed=` CDbl`6SB& (R Z$MT @""'do noth% -B ' {#ShowMessage " GgmustnSPR"0msd$:!orityWarnp, Fa1#6##O6O67O67O6 O6O6K6!55t]55q$o-o-ewo-l-9Lg9999w9s  w!p : / :ut c/w5b?:e=O:!Z: o: o:g:z88 M8;88&t@x @:q5O;qGqqqe(s_;_;qt[;_ gq; $Y;;/@/;:m0ݠ rm_InБalize( 'sm哰ot rŃ03W ˀ_F$' R00PCd(rտTs!Y46k OActiv&e`2s.baLockEn!d{{lsA 8 k Me.cmdOptions.Ca@ = "q" 'put ox button to ex pand frmGetAngle.Height~121.5fsmall sized for&mztx@Tolerance.valueHF)atNumber(gCExpressV"("t cb->a~rnd"), ActiveSettings.Acc@uracy)o'Currentz  >MVHiew= GDegrees(8F$Dsets v0 TMac HCLoadDefaults End Sub Private UserX_QueryClose(Cl As Integer, pModeHJSave'-?@ '/ (' AttemptEstore the GLocra i; Workspace use nex@ime.,AKZ.lOn Error Resume N"IsWith7/'B=last parameterADTRUbEwri{config fil@?.AddCKVariable "VBA_GETANGL@E_TOP" AStr(`TopW0Fals_ N LEFTh Left nchkFirstOYurthPQuad t Bool(#X!?!#! Seven{OfSlop   >ldf n G!~AGIIFMGoTo 0 ublic Funkeepunder360(íDoe)!SCfifBPve`Pss Mit `is ovQ@ wi!ubt@t unta`ga st`ard 0-25x9.9" Dim dblDivis@g !intWh ţˆ If C<FA> -ThenC&̢&^=d /a L= C(Ro*(', 0)$P -iL* Abs( A<RSelecte#5 EM%a{ap#x .@la:s  Ca hf913S1Ms0gBoxpYq m bk@cricAvbInmmRoA Data ryf"e. FocuЂR;ycku sub $ " & _[vbCrLfp.Descri ң, itical, ;bJ vbCrLfp@.Descri"F Cr`.cal,%.Numbet%dBQzxeM{spnbtn15_SpinDownSO c+D  #e6=+ - 15oyo t(`@J}$S3@hUp 4le® @+edlo td#@ 94)_ L;@/!+!"U)45o)ZgZ- v3 ?? G:):&io dbF+W">>s xuS*90ص_SpinDown() (dblEnteredViewDegrees = CDbl(Me.txt`Angle.value|pWorldr2tykxapxME( $SS SH` p 4    P0 x]@H]@p; This is called when the user enters a data point after the& LocateFilter has accepted an element pP](]@ "selected Elements angle in Radians v ~$'<*0Get the angle in Radians of the selected Element <A:| S2Error in clsGetAA sub ILocateCommandEvents_Accept  !  !A@n8o0X Call cleanup(cleanup sub saves setting & unloads form x! Start Angle set to 0A@A@ l(pkx ,B@|`X SH 3Error in clsGE<8<<<% X` & 2`h k6 8` H :` PP[i<sub `>ion `@inst`B@ma`Diate`F the`Hve`TAA sub ILocateCommandEvents_Cleanup  !  !A@no]Pdisplay view angle $$L'BActive View Angle: B#0.0000$ !Z($ B#0.0000$ !\(" ,B@CommandState.StartDynamicsohnot used1.o ad ~'x v.tsuppor' v!l other KTArc Element Accept/RejectA@h' K K KTortLine Element Accept/RejectA@hTPr' KTShape Element Accept/RejectA@h A' K KTitText Element Accept/RejectA@h to ' KT]X v.6 -Cell !  Accept/Reject A@h s'S0A@n ox x!  dialo (^plic (P optStart Angle set to 0A@hthA@ l(p if kSet Start or Get Element Angle ($" or t ,B@ angleoH]6 SiJ`R  @X 8P*,@x @hh @X @H @8 @( @$ @nce this command does modify the original element,7 set the locate criteria to allow Editing of elements. ,%.gle  ,B@Select ElementA@ hTo set Active AngleA@hd@*To set Start Angle or Reset to set to zeroA@hAnglkCommandState.StartDynamics ,B@Iadded sub that makes microstation view have the focus instead of the formA@ophAttribute VB_Name = "clsGetAA"  Bas|0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobalSpacAFalse dCreatablPredeclaIdCExposeTemplateDerivCustomiz EOption 0licit I&ements ILoc,CommandEv P4 m_oStartEl As Re tP0oint3d# ' This call^when the@ user 8e@rs a d p!aft " PFil haAccept@a"n#Sub5_AB (ByVal 3, _ '# MsdDK!RpRotaB(dis`y va {*= Degrees(!)L2(A) frm.lblEq.CacC acO: 0+ F9`atAE, "#0.0" txt]val/N=R )eBttpurso@A'+p++QCB/utds_DlaipBnotApr"wuOGyqm_#%p@tq BooK  mz_ }=Sd @>=Wx33zaӄ.Typp111b>msdTmArc5Limpt, "p /RejectMqX Q!W/eLinXe, k1Sng #plex  t = ? eSha1eText1N0i?5O O O O O eCellpHead~EQO>c!A& et S.eQM.+O) O   kzBD"A-hEe4NJEReJs//!gs*,a@[]rbq3A \ha,aa1vengI (l!PÓ!T#Gcefault cS_ecQ+Llc!+4kriiaS' Si*ntc domodifyRo", zl P"Aow Ed fs. = *2e (Pg0 l_ . ShowCommand "Select Element" If blnStartAngleMode = False ThenLTPrompt "To set Active rEpfk2 or Re HtOzeroCJIf N'#?te.EDynamics etLocateCursor'added sub that @makes #rostation view hamthe focus inste`ad of rm'4UstnWindow bE]Sub] ox<H }(Rotate Options\( ToptCentergin ( ToptOrigingin f`$`$`(`a+n  8 8VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmGetAngle Caption = "Get Element Angle" ClientHe To ActiveAngleant@ 52*cmdAlignRotate To Selectedgl 52*cmdAlignrU~| \0   0 X  0   \`($`,aoxME (<0<66 <p% X` 2` 8` :`PPi<sub `>ion `@inst`B@ma`Diate`F the`Hve`J`R  @X@ HGD$*\Rffff*0Q44da46da&  f(  V  P( Fx  p ~P  x ,h N 8   H@    Z <H < " D  J8 * " ,2@Hh p   " 0 "2(`h    " F B( "p  >  (  ( 8 H P X h " p 0x J D ,@ p x   " * &  " bH  ,    0 "8 ` &p "    ,  0<@"   X8"Hp,x \$ 2H$2 d P`x , 4 (84@x xversion 1.12 11-08-05_did set active angle by 2 points correctly, remade icons combined Rotate Elements into project.version 1.11 11-06-05Oadded icons shortcuts to the various rotate options & made a set aa by 2 pointsversion 1.1 10-15-05Iadded sub that makes microstation view have the focus instead of the form@made form appear immediately, dynamically show the view rotationversion 1.04 - 9-22-05iadded ability to add or subtract a constant value to the selected element's angle (i.e. -90 from element)wadded options button (that resizes the form) to make options not visable by deault (e.g. make a smaller form footprint)version 1.03 - 8-22-05qreworked input routine, form no longer closes after each angle selection but button on form to restart "GetAngle"&also added "SetStartAngle" to the formHrevised the 15,45,90,180 degree buttons to be spinners insted of buttons1Angle Values no longer go above 360 or under -360version 1.02 - 8-08-05Aadded missing shape support (for building or other closed shapes)version 1.01 - 7-23-05added missing arc supportversion 1 - 7-04-05TProject goals - Set either your "Active Angle" or "Start Angle" to the selected item5options - allow to set to world or current view angle6 - force 1st or 4th quadrant (allow 7 degrees of slop) - add value to angle button> - Load Active angle dialog and put replicate rounding options] (;varable that lets the cls know if command is retreaving the(#"Start angle" or the "Active angle"&command to get the angle by two points ! !"$Get Element Angle: plus ! !" ($dGet Element Angle ($k !& * B@(kh ,B@.oPX*command to get the angle of a slected itemfrmGetAngle.Show vbModeless ! !"$Get Element Angle: plus ! !" ($dGet Element Angle ($kp' !& * B@(k@ ,B@4o(@command to get the angle of selected item and use its value as a<start angle to move items along that axis(with axis lock on)frmGetAngle.Show vbModeless ! !"$#Set Start Angle with element: plus ! !" ($dSet Start Angle with element ($k !& * B@(k' ,B@4o]8 "selected Elements angle in degreesCDim dblRadians As Double 'selected Elements angle in Radians]P!6either world angle or view angle which ever was chosen]h!selected view roatation value]]]]############################If frmGetAngle.Visible = False Then frmGetAngle.Show vbModelessEnd If###########################[dblRadians = ElementAngle(element, point) 'Get the angle in Radians of the selected Element <$L'D&add the value entered into txtAddValue !  < ! X '< D ! X 'Dkenter form data world angle !Ndisplay world angle as selected D#0.0000$ !P("d8] !T!"'R D R$V#0.0000$ !P("kdisplay view angle X$L'BActive View Angle: B#0.0000$ !Z($ B#0.0000$ !\(" B D 'F Fh Fh 'Fk Qif First of Fourth Quadrant is chosen then do approprate formatting of angle data !N F#0.0000$ !^("d F R$V#0.0000$ !^("kPUif Angle Lock Tolerance is set then round to the value entered in the tolerance field !` !P!" !d$b'H H$b !d#0.0000$ !P(" !^!" !d$b'J J$b !d#0.0000$ !^("k]Put the correct (world or view) angle infomation into variable to be used with next paragraph !f !P!"X'@d !^!"X'@k`&Show Prompt at end of angle formatting Active Angle set to @#0.00$A@h @$j'< < l(nd Start Angle set to @#0.00$A@h @$j'< < l(pk` oX P Attribute VB_Name = "modGetAngle" Option Explicit 'versH1.12 11-08-05.did set active a by 2 points correctly, remade iconmbined RotaEleme05@o proj5.T {1{6{a dd?Nshortcupto the varioPus r^os & aZa U5 10-155sub.at"kes micr os_view ha?foc>instead ofIformg@ appear immedidyna,ally jw.e5 T04 - 9-22Tability or ]trӌ ad%antIlue,selO\@Tb'ss(i.e. -90@ from )/@2C`Vt@(th@HresizHCrm)mak$e no isableadeault (e.g&.W*smAer KfootprO@G03@8@reworkAnputut,no lonBgclos'afteachD;AAt3 45 S6tart "@'also CC"SetSAEW@-revis&E15,45,90,180 degreButPsA be spinn@ ‘$sH Vaps 5g"bo360}hund8-@͍2&%ymissi$ng Oapup2pj (@!ildaIor B(Uh`s21 7-23R arcOR b04cPq go+  + eiByour \"A$-""/ 5@}[iteSoP- Kolom@tA.Gl, udz ' !ce 1st!,4th quadrAj(c 7:saslop# -o DM LoGlog`Ud [eA@\n3p D !,Pub!@ blngSMoAs Boolean'"rx lecls $kn`%ifmm and ietreavB-G%'4B"a(49Sl2Pb(('co;g@ABtw"If IsNumeric(frm .txtAddg.vah) ThengCab* dL: pl@" + # Else j @A)E.If!Visi= F fe8evb! 8les" C#`#te.#Prhimi~N o!AA 0_6P%Sqx*:' Sh' o#Q##.?7_:'sS6KLocFD4ALoϜFYRMus `GB9 a@n@ w"`?mm|0 @axis(wa p~ck onC%v/%%Bk" @ aHD$*\Rffff*0Q44da4811$*\Rffff*0T44da4852$*\Rffff*0S44da4852*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\WINNT\System32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#3$ C+ %%"io& $$$le.$u$f= TruP&&w&%@cK"~ss(dblRaqp)lDonerDim D•s {11''V%"in|'T.__D DScte:d/ 'CQr whi`e w1chk~VԱWta5!L WorldrRvol#)) 'I8c')'LZ'$=~(4,) '0#%"%= ( H,)+'1P9erRP؋  <> ""h ijadians = dblR+ CDbl(frmGetAngle.txtAddValue) World>~End If 'enter form data wV aw If  chkFirstOrFourthQuadrantFalse Then'di splay O as selected% a.vv#+Lat(w, "#0.0"E<&Dim blnSLOP As Boolea G = hSevenDegreesOfSlop=,P΍]D)bGdENviewb?VRotationF,(A@CITlblActivBe.Cap"  B: " + FF\EK+mMo 6 6:+G >= 360ȞJց- if o o Ƶis cho sen t@ do approprateattingB̂й +af Ia #=[W >W@),Lock Toce (setc(rou@]4to EBed$ i, tfi - Load Active angle dialog and put replicate rounding options] (;varable that lets the cls know if command is retreaving the(#"Start angle" or the "Active angle"&command to get the angle by two points ! !"$Get Element Angle: plus ! !" ($dGet Element Angle ($k !& * B@(kh ,B@.oPX*command to get the angle of a slected itemfrmGetAngle.Show vbModeless ! !"$Get Element Angle: plus ! !" ($dGet Element Angle ($kp' !& * B@(k@ ,B@4o(@command to get the angle of selected item and use its value as a<start angle to move items along that axis(with axis lock on)frmGetAngle.Show vbModeless ! !"$#Set Start Angle with element: plus ! !" ($dSet Start Angle with element ($k !& * B@(k' ,B@4o]8 "selected Elements angle in degreesCDim dblRadians As Double 'selected Elements angle in Radians]P!6either world angle or view angle which ever was chosen]h!selected view roatation value]]]]############################If frmGetAngle.Visible = False Then frmGetAngle.Show vbModelessEnd If###########################[dblRadians = ElementAngle(element, point) 'Get the angle in Radians of the selected Element <$L'D&add the value entered into txtAddValue !  < ! X '< D ! X 'Dkenter form data world angle !Ndisplay world angle as selected D#0.0000$ !P("d8] !T!"'R D R$V#0.0000$ !P("kdisplay view angle X$L'BActive View Angle: B#0.0000$ !Z($ B#0.0000$ !\(" B D 'F Fh Fh 'Fk Qif First of Fourth Quadrant is chosen then do approprate formatting of angle data !N F#0.0000$ !^("d F R$V#0.0000$ !^("kPUif Angle Lock Tolerance is set then round to the value entered in the tolerance field !` !P!" !d$b'H H$b !d#0.0000$ !P(" !^!" !d$b'J J$b !d#0.0000$ !^("k]Put the correct (world or view) angle infomation into variable to be used with next paragraph !f !P!"X'@d !^!"X'@k`&Show Prompt at end of angle formatting Active Angle set to @#0.00$A@h @$j'< < l(nd Start Angle set to @#0.00$A@h @$j'< < l(pk` oX P Attribute VB_Name = "modGetAngle" Option Explicit 'versH1.12 11-08-05.did set active a by 2 points correctly, remade iconmbined RotaEleme05@o proj5.T {1{6{a dd?Nshortcupto the varioPus r^os & aZa U5 10-155sub.at"kes micr os_view ha?foc>instead ofIformg@ appear immedidyna,ally jw.e5 T04 - 9-22Tability or ]trӌ ad%antIlue,selO\@Tb'ss(i.e. -90@ from )/@2C`Vt@(th@HresizHCrm)mak$e no isableadeault (e.g&.W*smAer KfootprO@G03@8@reworkAnputut,no lonBgclos'afteachD;AAt3 45 S6tart "@'also CC"SetSAEW@-revis&E15,45,90,180 degreButPsA be spinn@ ‘$sH Vaps 5g"bo360}hund8-@͍2&%ymissi$ng Oapup2pj (@!ildaIor B(Uh`s21 7-23R arcOR b04cPq go+  + eiByour \"A$-""/ 5@}[iteSoP- Kolom@tA.Gl, udz ' !ce 1st!,4th quadrAj(c 7:saslop# -o DM LoGlog`Ud [eA@\n3p D !,Pub!@ blngSMoAs Boolean'"rx lecls $kn`%ifmm and ietreavB-G%'4B"a(49Sl2Pb(('co;g@ABtw"If IsNumeric(frm .txtAddg.vah) ThengCab* dL: pl@" + # Else j @A)E.If!Visi= F fe8evb! 8les" C#`#te.#Prhimi~N o!AA 0_6P%Sqx*:' Sh' o#Q##.?7_:'sS6KLocFD4ALoϜFYRMus `GB9 a@n@ w"`?mm|0 @axis(wa p~ck onC%v/%%Bk"3$ C+ %%"io& $$$le.$u$f= TruP&&w&%@cK"~ss(dblRaqp)lDonerDim D•s {11''V%"in|'T.__D DScte:d/ 'CQr whi`e w1chk~VԱWta5!L WorldrRvol#)) 'I8c')'LZ'$=~(4,) '0#%"%= ( H,)+'1P9erRP؋  <> ""h ijadians = dblR+ CDbl(frmGetAngle.txtAddValue) World>~End If 'enter form data wV aw If  chkFirstOrFourthQuadrantFalse Then'di splay O as selected% a.vv#+Lat(w, "#0.0"E<&Dim blnSLOP As Boolea G = hSight = 4785 ClientLeft = 45 ClientTop = 495 ClientWidth = 3375 StartUpPosition = 1 'CenterOwner TypeInfoVer = 155 End pPosition = 1  Microsoft Forms 2.0 FormEmbedded Object9qicrosoft Forms 2.0 FormEmb$ 7}A ,#frmViewOptions 4hchkFirstOrFourthQuadrant4xchkSevenDeHF9a1h+Make Angles 1st or 4th Quadrant5TahomaXG,*1h+Rotate 270-277 to make readable from right5Tahoma((AActive Angle DialogouTahoma<F; a0h+Angle Lock Tolerance5TahomaH, ,5Tahoma( Toleranceme.r5TahomaE"R KQlt(0@x| DQ|xm|=|evenDegreesOfSlop=,P΍]D)bGdENviewb?VRotationF,(A@CITlblActivBe.Cap"  B: " + FF\EK+mMo 6 6:+G >= 360ȞJց- if o o Ƶis cho sen t@ do approprateattingB̂й +af Ia #=[W >W@),Lock Toce (setc(rou@]4to EBed$ i, tfi ""h ijadians = dblR+ CDbl(frmGetAngle.txtAddValue) World>~End If 'enter form data wV aw If  chkFirstOrFourthQuadrantFalse Then'di splay O as selected% a.vv#+Lat(w, "#0.0"E<&Dim blnSLOP As Boolea G = hSevenDegreesOfSlop=,P΍]D)bGdENviewb?VRotationF,(A@CITlblActivBe.Cap"  B: " + FF\EK+mMo 6 6:+G >= 360ȞJց- if o o Ƶis cho sen t@ do approprateattingB̂й +af Ia #=[W >W@),Lock Toce (setc(rod l xl88 lx4tx  ltqplpe $ `_&lplplp  $ `_lp$ `_lplp$ `_lpV lx=l2hl lh*#d*#`$ `2hd`_ d,(D"lxhd`58u#(Xx$ x x5X#(Xx(3|&t |@|@|Et |p|=|u |L B |   |O|\ K7  C:\GetAA.icoK ?4wDl|z 8|Ր.icol|q|Ր|||||\\ .|L  t |8|.|K\\ 0 yyg3g38??uTahomas"R KQlt(0@x| DQ|xm|=|(3|&t |@|@|Et |p|=|u |L B |"*  |O| KH  C:\startAngle.ico 4wDl|z 8|Ր.icol|q|Ր|||||\ .|L (t |8|.|K\ 0 u@]4to EBed$ i, tfiy ActiveViewAnglepoM 4nglei07@txtLpoM 4   WW0  (  lx88#8#t*#p  2tp!84 l 84@8$ `l$ l $ l8l$ ll= \ll\ ( ll= `l\`K*mZ*\C\\CBBEL-NT-SRVR-3\CADSTDS\Applic\V8CAD_STDS\WorkspaceV8\System\vba\genMicroStation.mvbarU ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Z ,A+'O/O}   1Q   9i A q A1 aFZ/UC"GetActiveAngle modGetAngleclsGetAA frmGetAnglefrmRotateToAnglemodRotateElements clsRotate180clsRotateToActiveAngleclsRotateToSelected clsAA2PntsF /C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLLVBA a 09K\靯[:C:\Program Files\Bentley\Program\MicroStation\USTATION.EXEMicroStationDGN Y @0FC:\WINNT\system32\STDOLE2.TLBstdole P.E .`M C:\WINNT\System32\FM20.DLLMSForms ii`׌ĆQNIY 2C:\DOCUME~1\AKARAVAK\LOCALS~1\Temp\VBE\MSForms.exd AiipGetAngle SetStartAngleProcessAngleOptions   Rotate180RotateToActiveAngleRotateToSelectedRotateElementAboutZOkIZQ{zJ߰`l VY RotateElementRotateOriginElementPlaceRotatePoint  GetAngle2Pnts+=h8+3qGLY0\<a~?ESFtl'ׯt^AԔrv. VBaYڃ{lFWJOcmdAlign!-6S` a 0 x4.@4.@$ 0--`x$ p`@8+H?$ H(8@@($ o@td` t@odo@td d o <0("x`\ tpl0 0  < lx$x t`hm`$ ohtp\::@N00pMP@  $  @/60 8=l 4.@c=[$ -l=) l xg,("x(0 0 P ( p8M$ `*l=[tx$ x  )txi$ ` 8p$(" xth8$ \$ ` 4Z 88$(" @@X cmdOptionschkFirstOrFourthQuadrantҋB ` txtWorldAnglechkSevenDegreesOfSlop"-?@lblActiveViewAngle txtViewAngle chkAngleLockȏ[qJ eUserForm7E7Jb?*k F3Dynamic  h?F`frmViewOptions optWorldAngle lblTolerancecmdDisplayAADialogcmdSetStartAngleoym'vspnbtn15 cmdGetAngletxtAngleTolerancelbl15degspnbtn45Label1Label2spnbtn90Label3 spnbtn180 lblAddValue cmdSetBy2Pntscmd180 txtAddValuecmdRotateToAnglechkAngleLock_ClickchkFirstOrFourthQuadrant_Click cmd180_ClickcmdAlign_ClickcmdDisplayAADialog_ClickcmdGetAngle_ClickcmdOptions_ClickcmdRotateToAngle_ClickcmdSetBy2Pnts_ClickcmdSetStartAngle_ClickcmdSetToView_Clickspnbtn15_SpinDownspnbtn15_SpinUpspnbtn45_SpinDownspnbtn45_SpinUpspnbtn90_SpinDownspnbtn90_SpinUpspnbtn180_SpinDownspnbtn180_SpinUptxtActiveViewAngle_ChangetxtActiveViewAngle_Exitq#ttxtAddValue_ExittxtAddValue_MouseDowntxtAngleTolerance_ExitSetSelectedAngle LoadDefaultstxtAngleTolerance_MouseDowntxtViewAngle_Exit$A `0$ `4$ `8$  `$" 0 8(\$ 04txtViewAnglei07<txt @y( )Ay8 IByH iCyX Dy A=y >ytxtViewAngle_MouseDowntxtWorldAngle_ExittxtWorldAngle_MouseDownUserForm_InitializeUserForm_QueryClose SaveDefaults keepunder360JustSpun Yl|"P%8,C)Z VBE6.DLL I! xCҋB ` \71PM qďYl| tcb->anglerndҋB ` I!  VBA_GETANGLE_TOP+G;I3+_K*mZ*\C\\CBBEL-NT-SRVR-3\CADSTDS\Applic\V8CAD_STDS\WorkspaceV8\System\vba\genMicroStation.mvbarU ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~I |Mr/n< "VBA_GETANGLE_LEFT JVBA_GETANGLE_chkFirstOrFourthQuadrant DVBA_GETANGLE_chkSevenDegreesOfSlop 4VBA_GETANGLE_optWorldAngle (Active Angle set to  #0.00 &Start Angle set to I!  first.30XCko5 FSet Active Angle by 2 points exited 0Get Element Angle: plus "Get Element Angle I!1 }RfKGA*N7fvxJyYJgsPMILocateCommandEventsILocateCommandEvents_AcceptILocateCommandEvents_CleanupILocateCommandEvents_Dynamics !ILocateCommandEvents_LocateFailed !ILocateCommandEvents_LocateFilter  ILocateCommandEvents_LocateResetILocateCommandEvents_Start d4PP)pPM Select Element &To set Active Angle TTo set Start Angle or Reset to set to zero 2Arc Element Accept/Reject 4Line Element Accept/Reject 6Shape Element Accept/Reject2-{sI&" 4Text Element Accept/Reject 0;E<PM Cell  Accept/Reject I! (fĤIx8< dError in clsGetAA sub ILocateCommandEvents_Accept   I! H I!S h (Start Angle set to 0 <Set Start or Get Element Angle fError in clsGETAA sub ILocateCommandEvents_Cleanup y9eK[x4G-JA+Hl P4 T<< BWorld Angle value must be numericƏYl| p <Value must be empty or numeric MGDSHOOK24wM{Gxl֏׿i@/n"^ TAngle Tolerance must be at least 0.0000001 `Error in frmGetAngle sub txtAngleTolerance_Exit  @View Angle value must be numericwA`O4|*: nE(t B7` yhYL]*^) əMD7 : xusI؎kj'z@9 p#R  UserForm1:L5/\bJ/= 8MJgH};{_KT&}!  Ǽ-NKk'g ? xc)6KuKXK OO_=$*sq ԫL)ƒq\qM$B9Q:`3`OO). A mJ2 7   1Q   9i A q A1 aFZ/UC"GetActiveAngle modGetAngleclsGetAA frmGetAnglefrmRotateToAnglemodRotateElements clsRotate180clsRotateToActiveAngleclsRotateToSelected clsAA2PntsF /C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLLVBA a 09K\靯[:C:\Program Files\Bentley\Program\MicroStation\USTATION.EXEMicroStationDGN Y @0FC:\WINNT\system32\STDOLE2.TLBstdole P.E .`M C:\WINNT\System32\FM20.DLLMSForms ii`׌ĆQNIY 2C:\DOCUME~1\AKARAVAK\LOCALS~1\Temp\VBE\MSForms.exd AiipGetAngle SetStartAngleProcessAngleOptions   Rotate180RotateToActiveAngleRotateToSelectedRotateElementAboutZOkIZQ{zJ߰`l VY RotateElementRotateOriginElementPlaceRotatePoint  GetAngle2Pnts+=h8+3qGLY0\<a~?ESFtl'ׯt^AԔrv. VBaYڃ{lFWJOcmdAlign!-6S` aX cmdOptionschkFirstOrFourthQuadrantҋB ` txtWorldAnglechkSevenDegreesOfSlop"-?@lblActiveViewAngle txtViewAngle chkAngleLockȏ[qJ eUserForm7E7Jb?*k F3Dynamic  h?F`frmViewOptions optWorldAngle lblTolerancecmdDisplayAADialogcmdSetStartAngleoym'vspnbtn15 cmdGetAngletxtAngleTolerancelbl15degspnbtn45Label1Label2spnbtn90Label3 spnbtn180 lblAddValue cmdSetBy2Pntscmd180 txtAddValuecmdRotateToAnglechkAngleLock_ClickchkFirstOrFourthQuadrant_Click cmd180_ClickcmdAlign_ClickcmdDisplayAADialog_ClickcmdGetAngle_ClickcmdOptions_ClickcmdRotateToAngle_ClickcmdSetBy2Pnts_ClickcmdSetStartAngle_ClickcmdSetToView_Clickspnbtn15_SpinDownspnbtn15_SpinUpspnbtn45_SpinDownspnbtn45_SpinUpspnbtn90_SpinDownspnbtn90_SpinUpspnbtn180_SpinDownspnbtn180_SpinUptxtActiveViewAngle_ChangetxtActiveViewAngle_Exitq#ttxtAddValue_ExittxtAddValue_MouseDowntxtAngleTolerance_ExitSetSelectedAngle LoadDefaultstxtAngleTolerance_MouseDowntxtViewAngle_ExittxtViewAngle_MouseDowntxtWorldAngle_ExittxtWorldAngle_MouseDownUserForm_InitializeUserForm_QueryClose SaveDefaults keepunder360JustSpun Yl|"P%8,C)Z VBE6.DLL I! xCҋB ` \71PM qďYl| tcb->anglerndҋB ` I!  VBA_GETANGLE_TOP+G;I3+_|Mr/n< "VBA_GETANGLE_LEFT JVBA_GETANGLE_chkFirstOrFourthQuadrant DVBA_GETANGLE_chkSevenDegreesOfSlop 4VBA_GETANGLE_optWorldAngle (Active Angle set to  #0.00 &Start Angle set to I!  first.30XCko5 FSet Active Angle by 2 points exited 0Get Element Angle: plus "Get Element Angle I!1 }RfKGA*N7fvxJyYJgsPMILocateCommandEventsILocateCommandEvents_AcceptILocateCommandEvents_CleanupILocateCommandEvents_Dynamics !ILocateCommandEvents_LocateFailed !ILocateCommandEvents_LocateFilter  ILocateCommandEvents_LocateResetILocateCommandEvents_Start d4PP)pPM Select Element &To set Active Angle TTo set Start Angle or Reset to set to zero 2Arc Element Accept/Reject 4Line Element Accept/Reject 6Shape Element Accept/Reject2-{sI&" 4Text Element Accept/Reject     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEGH0   0   0 H  <   $" 0   0   0 H  0   0   0   0 H  0   0   0   0 H  0   0   0 H  0   0   0   0 @  $pzt$ XQtpnp knb'hp lhCjX%,/hkpznp kn'hp lhCjX%,/hpznp kn 5hp lhWXt! t /ht5Xnp knY5hp lhWXt! t /ht5Xnp kn5hp lhWXt! t /ht5Xcp kz(X%,F(X%,F4("pht0   0   0   0   0 H   TcXx! x x5XcXx! x x5XfXx! x x5XcXx! x x5X'Vx$ x kVxcXx! x x5XfXx! x x5Xx x 0x`^@jh%$ ,mX $ @x$ x l@X F,IN(/#@7V NYUwc H{"#ې Dȼ܇خy$=%OV/#H !B ޗKt)J<9iK_xezӿFyP`B,KSAi"40QemK* AC 8txtActiveViewAngle iJ'?B^c0M?)ʮ',kN\v YD  P4iv<<\V/#H !B@@@@(------------------------rU dD` (a4y$A`,,@` 04a4y$`4 @` 8$aa4#$A`<($`@0 ) n    W    W  4l xltKKlx td\md$ o\tl d T XX lTqPXiL XX ,T DD ''lTi*#HlL*F4 2HL)XD64el1,("tx,LHXD40 X ( 0  ( 8$(" d l xl88 lx4tx  ltqplpe $ `_&lplplp  $ `_lp$ `_lplp$ `_lpV lx=l2hl lh*#d*#`$ `2hd`_  ޗKt)J<9iK_xezӿFyP`B,KSAi"40QemK* AC 8txtActiveViewAngle H)pt$ \ upntFixedelement 1  y (IPrimitiveCommandEventspoint 1 8Viewpt1pt2oViewdrawModeKeyin HtpTTTTTTT0 H  0   0   0   0 H  0   0   0   a=+,q`=nirU~| Ma+nrU~|  B"y)(!) VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmRorU H#,,I--i..a/ 0000)12112133"4 B" 4)A * Z T9* a*``````````````  II@X   WW4l xltKKlx td\md$ o\tl d T XX lTqPXiL XX ,T DD ''lTi*#HlL*F4 2HL)XD64Opt,("tx,LHXD4TKs8uS$ d 9x$ x xx$ x (xt xx ltqpxil xx ,t dd ''lti4*#hll*FT 2hl)xd6T4$(" ,lhxdT40  ( 8 $(" d l xl88 lx4tx  ltqplpe $ `_&lplplp  $ `_lp$ `_lplp$ `_lpV lx=l2hl lh*#d*#`$ `2hd`_ d,(D"lxhd`58u#(Xx$  x !x5X#(Xx$  x !x5X$ ` 9x$ x x:h"%$,x$ x ,x4$(" xX-pt$ t Llp=x)tp(lx=[pt$ t H)pt$ \ u$ ` $ `t$ t 0t ev (("xtpTTTTTTT( 0;E<PM Cell  Accept/Reject I! (fĤIx8< dError in clsGetAA sub ILocateCommandEvents_Accept   I! H I!S h (Start Angle set to 0 <Set Start or Get Element Angle fError in clsGETAA sub ILocateCommandEvents_Cleanup y9eK[x4G-JA+Hl P4 T<< BWorld Angle value must be numericƏYl| p <Value must be empty or numeric MGDSHOOK24wM{Gxl֏׿i@/n"^ TAngle Tolerance must be at least 0.0000001 `Error in frmGetAngle sub txtAngleTolerance_Exit  @View Angle value must be numericwA`O4|*: nE(t B7` yhYL]*^) əMD7 : xusI؎kj'z@9 p#R  UserForm1:L5/\bJ/= 8MJgH};{_KT&}!  Ǽ-NKk'g ? xc)6KuKXK OO_=$*sq ԫL)ƒq\qM$B9Q:`3`OO). A >IN(/#@7V NYUwc H{"#ې Dȼ܇خy$=%OV/#H !B ޗKt)J<9iK_xezӿFyP`B,KSAi"40QemK* AC 8txtActiveViewAngle iJ'?B^c0M?)ʮ',kN\v YD  P4iv<<`WzO!ԦG+* C=ytA\""*Hҫx=ÙEs=i E x 8 8txtActiveViewAnglefg;gϟ?I''p?s?s?uTahoma kn'hp lhCjX%,/hpznp kn 5hp lhWXt! t /ht5Xnp knY5ha=+,q`=nirU~| Ma+nrU~|  B"y)(!) VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmRoIa ay`` a``Q  lXLP     hh\\pp !"G` ad !`  !`I1``Q !Q`$z WWW_____ _  0 H  0   0   0   0 )86(LM@(  8$ 8 :N( $  n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q 4F {0h+World Angle5Tahoma4F _{1h+View Anglee5TahomaH,<,5Tahoma$(Active View Angle:poL+5TahomaH,<{5TahomaH,5Tahomama$} Set Angle OpDH  7&} Set Angle Options poR KQDBTahoma(, ToptWorldAngle( ToptViewAngle, 4txtWorldAngle42DlblActiveViewAnglepo4(