Community
Civil 3D Forum
Welcome to Autodesk’s Civil 3D Forums. Share your knowledge, ask questions, and explore popular AutoCAD Civil 3D topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Available point numbers?

61 REPLIES 61
Reply
Message 1 of 62
Nrhoads
532 Views, 61 Replies

Available point numbers?

What is the fastest way to find which point numbers are used and which are available in C3d 2007?
61 REPLIES 61
Message 2 of 62
kcobabe
in reply to: Nrhoads

Open the point folder in the prospector

R10 - 2020 ACAD
2008 - 2020 Civil 3D
2014 - 2020 Plant 3D
2014 - 2020 Revit
V8i - V8i SS4 Microstation
Infraworks
2018-2020 Inventor
2020 Navisworks
Message 3 of 62
Nrhoads
in reply to: Nrhoads

Maybe I should clarify for those who have not used LDT...
We "had" a command to LIST AVAILABLE POINT #'S. In Civil3d we do not have this, that I know of.
I was hoping someone could help me find a way to do this as I have a drawing with 1-1000, 2000-2500, 3000-3100, 4000-4600 etc... and it would be nice to see a list like this!!!
Message 4 of 62
JoshNelson
in reply to: Nrhoads

Create a point group and call it whatever you want - maybe "ALL THE POINTS" - go to the point group properties and go to the "INCLUDE" tab or "EXCLUDE" - either one will get you what you want. Choose the checkbox "With numbers matching" and then do a "Selection Set in Drawing". Window all your points. It will then create a list like what you are looking for. For example mine turned out like this:

1, 10-28, 89, 93, 100, 171-177, 405, 1000, 2010, 3000-3072

Basically it is showing you all the points that exist in that drawing. The only catch is that you need to have all the points in that drawing to select them.

Does this answer your question?

Josh
Message 5 of 62
kcobabe
in reply to: Nrhoads

Maybe you should not assume I have not used LDD. This is the C3D forum and you asked a C3D forum question. In that case it's the right anser unless you want to spend the time to build a group with a query.

R10 - 2020 ACAD
2008 - 2020 Civil 3D
2014 - 2020 Plant 3D
2014 - 2020 Revit
V8i - V8i SS4 Microstation
Infraworks
2018-2020 Inventor
2020 Navisworks
Message 6 of 62
JoshNelson
in reply to: Nrhoads

Acutally building the group would be faster than going through all the points via the prospector as you suggested. So I would say, build the group unless you want to take the time to do it via prospector.

Josh
Message 7 of 62
Anonymous
in reply to: Nrhoads

kcobabe wrote:
> Maybe you should not assume I have not used LDD. This is the C3D
> forum and you asked a C3D forum question. In that case it's the
> right anser unless you want to spend the time to build a group with a
> query.

You think it would be faster to scroll through the points looking for
available point number than building a query?

Nick's question was a very valid one - the command in LDT was very
useful, and easy to do. He was trying to communicate the exact feature
that he's looking for, and your post did very little to answer that.
"Opening the point folder" (what folder?) in prospector tells him
nothing. So in this case, it's *not* the right answer.

--
Jason Hickey

Civil 3D 2007, SP2
Dell Precision M70
2 GIG RAM, 256 MB nVidia Quadro FX Go1400
Intel Centrino 2 gHz Processor

www.civil3d.com
Message 8 of 62
Anonymous
in reply to: Nrhoads

Here's a lisp that returns the available point #'s similar to how LDT does.

;| lisp for C3D2007 to report unused Point #'s.
No error handling included, output could use some work.
by Jeff_M Oct. 2006
|;
(defun c:freenums (/ acadobj aecdoc aecobj freelist freestring lst
pnts ptlist seed)
;;following function courtesy Michael Puckett
(defun IntsToRangedString (ints / sorted result group)
;; first sort em, losing any duplicates
(setq
sorted (vl-sort ints '<)
result (list (list (last sorted)))
)
;; now roll 'em ...
(foreach x (cdr (reverse sorted))
(setq result
(if (eq (1+ x) (car (setq group (car result))))
(cons
(cons x (list (last group)))
(cdr result)
)
(cons
(list x)
result
)
)
)
)
(setq result
(mapcar
'(lambda (lst / a b)
(cond
((eq 1 (length lst))
(itoa (car lst))
)
((eq (1+ (setq a (car lst))) (setq b (cadr lst)))
(strcat (itoa a) "," (itoa b))
)
((strcat (itoa a) "-" (itoa b)))
)
)
result
)
)
(apply 'strcat
(append
(list (car result))
(mapcar
'(lambda (x) (strcat "," x))
(cdr result)
)
)
)

)
;;end function
(if (and (setq acadobj (vlax-get-acad-object))
(setq aecobj (vla-getinterfaceobject
acadobj
"AeccXUiLand.AeccApplication.4.0"
)
)
(setq aecDoc (vla-get-activedocument aecobj))
(setq pnts (vlax-get aecDoc 'points))
(< 0 (vlax-get pnts 'count))

)
(progn
(setq seed 0)
(vlax-for pnt pnts
(setq ptlist (append ptlist (list (vlax-get pnt 'number))))
)
(mapcar 'vlax-release-object
(list pnts aecdoc aecobj acadobj)
)
(setq ptlist (vl-sort ptlist '<))
(while (<= (setq seed (1+ seed)) (last ptlist))
(if (not (member seed ptlist))
(setq freelist (cons seed freelist))
)
)
(setq freestring
(strcat (intstorangedstring freelist)
","
(itoa (1+ (last ptlist)))
"+"
)
)
(princ (strcat "Available point #'s: " freestring))
)
)
(princ)
)

wrote in message news:5361263@discussion.autodesk.com...
Maybe I should clarify for those who have not used LDT...
We "had" a command to LIST AVAILABLE POINT #'S. In Civil3d we do not have
this, that I know of.
I was hoping someone could help me find a way to do this as I have a drawing
with 1-1000, 2000-2500, 3000-3100, 4000-4600 etc... and it would be nice to
see a list like this!!!
Message 9 of 62
JoshNelson
in reply to: Nrhoads

You don't need to build a query. It will show you your ranges after you window all the points. See attached. If I was to have to go through a list of points and find the gaps it could be easy to miss a gap. For example if you I have points 1-55 and 57-100, scrolling through a list of points it is going to be easy to miss that fact that there is no point number 56. So for me to go through a list of 3000 or so points looking for available numbers, there is too much room for error and it could be tedious. If you look at the attached image you can see that I have the following point ranges available: 2-9, 29-88, 90-92, 94-99, 101-170, 178-404, etc....No query needed and much quicker than figuring out via a visual inspection.

Josh
Message 10 of 62
Anonymous
in reply to: Nrhoads

JoshNelson wrote:
> You don't need to build a query. It will show you your ranges after
> you window all the points. See attached. If I was to have to go
> through a list of points and find the gaps it could be easy to miss a
> gap. For example if you I have points 1-55 and 57-100, scrolling
> through a list of points it is going to be easy to miss that fact
> that there is no point number 56. So for me to go through a list of
> 3000 or so points looking for available numbers, there is too much
> room for error and it could be tedious. If you look at the attached
> image you can see that I have the following point ranges available:
> 2-9, 29-88, 90-92, 94-99, 101-170, 178-404, etc....No query needed
> and much quicker than figuring out via a visual inspection.

Yes, you're right. I meant the way that you were using with the select
points. My disbelief over the thought that scrolling through a list of
points would be faster clouded the link from my brain to my
fingers....it happens from time to time.



--
Jason Hickey

Civil 3D 2007, SP2
Dell Precision M70
2 GIG RAM, 256 MB nVidia Quadro FX Go1400
Intel Centrino 2 gHz Processor

www.civil3d.com
Message 11 of 62
kcobabe
in reply to: Nrhoads

I answered the question for how to do it in C3D not VBA or LISP. I answered the original question and never stated that building a quey qould be the way to go.

The answer I gave is the correct answer unless you do a programmed function. My answer in the end was still correct.

I just read another one of the post to my post and had to edit this post to reflect that post.

You do not have to window a thing when trying to query the points. Select the include or exlude tab and type in something like >50 in the include and >70 for exclude and you will get ranges 51-70 as a result. You do the same thing when spliting up a file in any database query. Message was edited by: kcobabe

R10 - 2020 ACAD
2008 - 2020 Civil 3D
2014 - 2020 Plant 3D
2014 - 2020 Revit
V8i - V8i SS4 Microstation
Infraworks
2018-2020 Inventor
2020 Navisworks
Message 12 of 62
Anonymous
in reply to: Nrhoads

kcobabe wrote:
> I answered the question for how to do it in C3D not VBA or LISP. I
> answered the original question and never stated that building a quey
> qould be the way to go.
>
> The answer I gave is the correct answer unless you do a programmed
> function. My answer in the end was still correct.

There is no VBA or LISP required to create a point group - that
functionality is there already.

> I just read another one of the post to my post and had to edit this
> post to reflect that post.
>
> You do not have to window a thing when trying to query the points.
> Select the include or exlude tab and type in something like >50 in
> the include and >70 for exclude and you will get ranges 51-70 as a
> result. You do the same thing when spliting up a file in any
> database query.

You can also do it with a window selection, which requires typing
anything. I'm very well aware of how to create a point group - and
Josh is right, no query is necessary.

The original question is "how do you determine what the next available
point number is" - why would you enter a range for that in some query?

--
Jason Hickey

Civil 3D 2007, SP2
Dell Precision M70
2 GIG RAM, 256 MB nVidia Quadro FX Go1400
Intel Centrino 2 gHz Processor

www.civil3d.com
Message 13 of 62
JoshNelson
in reply to: Nrhoads

I am beginning to think you didn't understand the original post's question??? They wanted the fastest way to find unused or available point numbers. All you told them to do was look at the huge list in prospector. I think the reason we are having a problem with that is that your solution isn't really a solution. Obviously the OP must know that they could look at the list of points in prospector. Essentially all you said was look at the list of points and do it manually.

Josh
Message 14 of 62
msanter
in reply to: Nrhoads

Jeff,

Hey that is nifty, and I know you wrote the RPT LISP as well. I was going to use that in my points class at AU, do you mind?

Thanks,
Melanie Santer
L.A. CAD
www.dirtdivac3d.blogspot.com
Message 15 of 62
kcobabe
in reply to: Nrhoads

uhmmm probably to make the list smaller. Not to mention I did not state anywhere about using a query is the best way to do it. READ MY POST. The only time I state it is when refering to as an alternative option.

Also if you are windowing your selections you are not really quering anything you are selecting. A query is typically accomplished through an experssion. Try doing a query in Access through a selecting the individual cells and tell me how well it works.

I also did not state that you should use VBA or LISP to build a group. I already know the function is there. Again READ MY POST it says NOT!!!

Again this is what I am saying:

1. Right now the point list is the only way to get that without making a LISP or VBA function that will get it for you.

2. The reason to use a query would be to break the points into smaller groups of the _All Points group provided there were no groups before.

And the orignal question was not to find the next number it was to find a list of available numbers. If you wanted to just find the next number you could go to the bottom of the list or go into +Settings +Points +Commands +Create Points and go to Point Identity and the first line under that is the next point.

R10 - 2020 ACAD
2008 - 2020 Civil 3D
2014 - 2020 Plant 3D
2014 - 2020 Revit
V8i - V8i SS4 Microstation
Infraworks
2018-2020 Inventor
2020 Navisworks
Message 16 of 62
kcobabe
in reply to: Nrhoads

So what you are saying I should have said is:

"In C3D there is no way to do that at the current time."

OK

"In C3D there is no way to do that at the current time. You need to go through the list manually and find the holes in the point list. Or you can use a build ISP or VBA routine to find the unused points."

R10 - 2020 ACAD
2008 - 2020 Civil 3D
2014 - 2020 Plant 3D
2014 - 2020 Revit
V8i - V8i SS4 Microstation
Infraworks
2018-2020 Inventor
2020 Navisworks
Message 17 of 62
Anonymous
in reply to: Nrhoads

Thanks, Melanie.

No, I don't mind at all. I just ask that my name be added to whatever code
is used (I know, I should've posted with it in the code originally)

Jeff

wrote in message news:5361542@discussion.autodesk.com...
Jeff,

Hey that is nifty, and I know you wrote the RPT LISP as well. I was going to
use that in my points class at AU, do you mind?

Thanks,
Melanie Santer
L.A. CAD
www.dirtdivac3d.blogspot.com
Message 18 of 62
msanter
in reply to: Nrhoads

Sounds good, will do, thanks for that 🙂
Message 19 of 62
kcobabe
in reply to: Nrhoads

So I would think that you are semi agreeing with using a query here since it would give you the available numbers via a selection set.

So since I'm lost at this point between all of the ranting about my 2nd post of doing a query being wrong, Are you agreeing or disagreeing with a query being the fastest way????

R10 - 2020 ACAD
2008 - 2020 Civil 3D
2014 - 2020 Plant 3D
2014 - 2020 Revit
V8i - V8i SS4 Microstation
Infraworks
2018-2020 Inventor
2020 Navisworks
Message 20 of 62
JoshNelson
in reply to: Nrhoads

No you don't need VBA or LISP. I don't know either of them and it took me 10 seconds to find all my available points. Here are the steps to find all the available points without having to look at the list:

1. Create Point Group called TEMP
2. Go to Point Group Properties and then to the INCLUDE tab
3. Click the check box next to the "With numbers matching:"
4. Click the button that says "Selection Set in Drawing"
5. Window All of your points
6. Then look at the list of points in the white box next to "With numbers matching:"

See my attached image for my results. If you look at my results I know that points 1, 10-28, 89, 93, 100, 171-177, 405, 1000, 2010, and 3000-3072 are in use so any other ranges would be available. No VBA and no LISP needed. The only the the LISP did was give you those "other ranges".

Josh

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Rail Community


Autodesk Design & Make Report