Thanks for the info Tony.
I think I also got the ImpEntity (or something like it) object back when I
was using VBA as well (that was many months ago). So it may not be just a
managed wrapper class issue.
Keeping the location of all points in the space seems like a lot of overhead
in that there will be something like 10 or 11 layers, each one having
anywhere from 50 to 1000s of objects. Not a pleasing idea.
I did try using GetKeyPointEntities() in my experiments and it returned 0 in
the same way GetPickedEntities() did.
I may submit the pickbox/FDO geometry issue an a bug to AutoDesk and see
what happens. If they fixed that one problem I could probably work around
everything else and have a OK product at the end. Right now performance is
an issue due to having to query spatially against a number of layers.
-Anthony
"Tony Tanzillo" wrote in message
news:5754245@discussion.autodesk.com...
ImpEntity is the type returned by the runtime when there
is no specific managed wrapper class implemented for a
custom object.
Not suprising that Civil3D and TopoBase remain stuck in
the COM world.
If the object has a COM wrapper then you can get it from
the AcadObject property.
You can also try calling GetKeyPointEntities() to see if
it returns anything.
The only other solution, is to keep a list of all the points
in the current space, and scan it to find the one nearest
to the pickbox (within a given 'aperture' range). If there's
many of them, it could take a long time for a simple
search, but you could also address that using quad-tree
indexing.
--
http://www.caddzone.com
AcadXTabs: MDI Document Tabs for AutoCAD 2008
Supporting AutoCAD 2000 through 2008
http://www.acadxtabs.com
"Anthony" wrote in message
news:5753848@discussion.autodesk.com...
Well the object is a point - just one XY. The geometry that is used to
represent that point in the AutoCAD window is an object that I dont have
access to - its an ImpEntity object (improvised entity? imported entity?).
There is no way to get the geometry for the object being used to represent
the point (at least, not without getting to the point first, which is the
issue in the first place).
-A
"Luis Esquivel" wrote in message
news:5753770@discussion.autodesk.com...
I use PointMonitor in one of my commands, to select closed polylines (that
represent lots or room areas) by passing the cursor inside of closed areas
and making a highlight and taking the info from them.
Maybe, you can make a collection of boundingbox of those points, and use a
function to test if a point is inside of an area and use that, to select
your objects.
I can send you my class... if you want.
"Anthony" wrote in message
news:5753700@discussion.autodesk.com...
Using the default point representation of a square with size set to .3, when
the pickbox is....
Over the edge of the geometry: 0
In the interior of the geometry: 0
Over the insertion point: 1
-Anthony
"Tony Tanzillo" wrote in message
news:5753064@discussion.autodesk.com...
Tony, can you tell me how many elements are in the
array returned by GetPickedEntities() when the pickbox
is over the point's geometry.
--
http://www.caddzone.com
AcadXTabs: MDI Document Tabs for AutoCAD 2008
Supporting AutoCAD 2000 through 2008
http://www.acadxtabs.com
"Anthony" wrote in message
news:5752992@discussion.autodesk.com...
I went back and double checked, the FDO geometry used to symbolize wont end
up in the Context.GetPickedEntities() group when you mouse over the object,
not until you get over the insertion point.
The only thing I can think of is to get a selection set over the mouse
cursor every time the PM fires, which doesn't seem all that efficient...
(I've thought about using a timer to call back to see if the mouse cursor
stops, but then I lose the ability to use the .AppendToolTipText() function
becuase the event objcet is dead).
-Anthony
"Tony Tanzillo" wrote in message
news:5751720@discussion.autodesk.com...
Tony, if you can select an FDO Point by picking on
the geometry (e.g., 'symbolization'), then you should
be able to get through the PointMonitor.
--
http://www.caddzone.com
AcadXTabs: MDI Document Tabs for AutoCAD 2008
Supporting AutoCAD 2000 through 2008
http://www.acadxtabs.com
"Anthony" wrote in message
news:5751207@discussion.autodesk.com...
Hi Tony,
Yes I remember you (along with the long ago days of coding in VBA). I'm
stuck having to write my own tooltip functionality because of Topobase. I
cant convert between AutoCAD objects (returned by the PointMonitor) and
Topobase FDO objects. Plus there is problems with PointMonitor not returning
FDO point objects unless you're over the insertion point (if you're over the
symbolization of that point it wont return it, even though to the user the
cursor is over the object). So the two problems compound into something
ugly.
Regardless, I was able to track it down to one line of code,
MgSelectionBase selectionSet = map.GetFeatureSelection();
When that line of code was commented out everything went back to normal. No
idea why.
-Anthony
"Tony Tanzillo" wrote in message
news:5750432@discussion.autodesk.com...
Hi Tony.
It looks like you're trying to implement the functionality that
LVVWD was using AcadX for previously (remember me ).
I've used PointMonitor extensively, and have never seen
what you describe, so it is most likely an issue with your
code. But, I can't really tell you much about that without
seeing the code.
BTW, one of the problems with coming up with a counterpart
for AcadX.DataTip using PointMonitor, is that if you run that
on Civil3D, you will get all kinds of other stuff in the tooltip,
because C3D provides custom tooltips for many of its objects,
and it does that even when you're not hoving over them (.e.g,
it gives you info on alignment offset, elevations, and so on,
for the current coordinate).
AcadX implemented its own tooltip window, and didn't
use the Autodesk-provided one that you can populate
from PointMonitor.
--
http://www.caddzone.com
AcadXTabs: MDI Document Tabs for AutoCAD 2008
Supporting AutoCAD 2000 through 2008
http://www.acadxtabs.com
"Anthony" wrote in message
news:5750231@discussion.autodesk.com...
Here is an odd problem - I have a .NET DLL loaded into 2008 (I've tried it
with both Topobase and Map), and it hooks into the Editor.PointMonitor
event. For some reason, every command I try and type at the command line
after that becomes INSERT. I'm lost as to why this would happen. It only
happens once the DLL is loaded and the function is attached. Even trying to
quit the application leads back to INSERT.
-Anthony