You can get the Current Layout by using GetSystemVariable:
Autodesk.AutoCAD.ApplicationServices.Application.GetSystemVariable("CTAB")
And the following code will return true if you are in "Model" tab or inside a viewport
{code}
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.Interop
Public Class isModelSpaceCode
Function IsModelspace() As Boolean
If ThisDrawing.ActiveSpace = Common.AcActiveSpace.acPaperSpace Then
Return ThisDrawing.MSpace()
Else
Return True
End If
End Function
Function GetSpace() As Object
If IsModelspace() Then
GetSpace = ThisDrawing.ModelSpace
Else
GetSpace = ThisDrawing.PaperSpace
End If
End Function
Function ThisDrawing() As AcadDocument
'The COM active drawing
Dim objThisDrawing As AcadDocument
'Get the COM AutoCAD application object
Dim objAcadApp As AcadApplication = CType(Application.AcadApplication, AcadApplication)
Try
'Get the COM active drawing
objThisDrawing = objAcadApp.ActiveDocument
Return objThisDrawing
Catch ex As System.Exception
End Try
Return Nothing
End Function
End Class
{code}
---------------------------
(defun botsbuildbots() (botsbuildbots))