• This forum is the machine-generated translation of www.cad3d.it/forum1 - the Italian design community. Several terms are not translated correctly.

common entities at one point

  • Thread starter Thread starter Gio_S
  • Start date Start date
I tried your lisp on the lines.
I designed 810 lines by copying them on 20 times, for a total of 16200 lines
then I launched the lisp that correctly deleted me 810x19=15390 duplicate lines.
All the process, on my car, lasted 59 seconds.
Obviously comparing faces compared to lines will be a more burdensome compute, but on your a test like that it takes?

I bet an idea, maybe you can reduce the number of comparisons. . .
if when you start with the first idx you make him make a selection at crossing that has as window the first +totx/toty and -totx/toty (I try to explain better, a window of the size you prefer, whose median point are the coordinates of the summit of the idx1)?
In this way, within your total selection, you will have a partial selection of entities passing or approaching the first entity, which will not contain all the others at all. at this point the comparison you do only on a limited number of entities, not on all xmila that maybe are far away and have nothing in common with idx1.

I repeat, it's just an idea, from here to implement it, it passes.
 
Thank you!
I think you opened up a new problem! I explain, my parents were about 35 thousand tested on the old PC with win 10 that I can't send to the attic, but even if I had done it with the new one with win 11 to the eye, by gross experience, I would only halved the times. at this point more than a doubt is a certainty, the lisp of my old intellicad, or both, play on performance in a way I didn't think. I did not pose the problem because in normal processing I never suffer from expectations.
Anyway, I'll try on the other, just to understand. the order on which he works is important, but also I had worked with a certain order, only that I had copied only once 17 thousand + 17 thousand, so he must have poured perhaps more in the bag of copying, instead your multiple copy I do not know if I hear the idea, he met before. At least I believe, but this difference is not justified, I think of my lisp on intellicad.
on the window, actually my idea (see topical opening) was something like that, but it also pulls my z far away, and I don't like making a "cubic" selection. or at least, I fear that its creation, certainly not trivial, takes me away time for every entity, once repeated.
cmq thanks now analyze on win 11 a test like your, with multiple copies, I am curious to see if the bottleneck is my autolisp on intellicad!
Thank you!
 
One thing, I forgot, this ambaradan on the near selections could be useful in several circumstances, I always prepare 3d, and, for example, a burdensome task, but similar, would put all the faces in the right time drawing order rather than anticlockwise (and then I must find the adjacent faces that must have the carrier of the side in opposition). that in 3d stl is essential. I did that in lisp, but that's a routine I never use in cad, crazy times. But I would like to implement it in the design phase, making it more agile. Now practically, to save time, I leave the orientation as I come, filtering the finished slate on meshlab. but keep it in order as I work would be much better, if nothing else for the run time view of the details that I call on meslab while I'm still in the environment cad.
 
Yes, of course the slowness is to charge the performance of my old sw, because I got a data not to believe.
agree that you will have tested on a pootent machine, and the note with win 11 is a very low-end bowl (asus x415), but generally does not penalize me. I find the reliable asus notes, the heaviest sw I use is certainly povray to render, but I remain in the order of a few minutes to make it complex. meshlab loads tens and tens of thousands of faces in three seconds.. .
and I don't use the pc to play.
so it makes no sense that the lisp on intellicad took 21 (minutes)!!!!
in the test it emerges, certainly, unlike my previous tests, that deletion stresses the routine.
basically I had tested with many lines, but in the end, looking for duplicates, these were a low percentage within the database.
you, rightly, multiplying for 19 times the deletion has overturned the problem, here the entdel has shown itself with all its weight:)
It is interesting, although this routine is not born to be used so but to discover some hidden entities that have escaped the cleaning of the design.
but I think I'll have to make an effort and see to upgrade my intellicad stravecchio, even if it scares me because I built so much of that sw that you don't imagine ... say that to 70% of the commands, or call file lisp.. or where the lisp is short, contains macro lisp in the menu ...
cmq thanks to this demonstration, I will go to imagine how to set up a bounding box... or, in series for rows, columns and elevations, I think it is the only one. .
Thank you!
 
I know, the question is stupid, but I do the same: does intellicad have no overkill command?
 
Hello, thank you. and no, it's not a stupid question, but I had it from the specified principle that I don't know if autocad has specific native command ... "can be that in other programs it is implemented, but not in my cad."
 
"how to use overkill to remove duplicate or overlapping lines, arcs, and polylines in autocad."
However it seems that it does not foresee the cleansing of the faces.. .
 
so it makes no sense that the lisp on intellicad took 21 (minutes)!!!!
Well here responsibility is not so easily identifiable. problems of ram capacity? processor frequency? I have an i7-11700 desktop (usually mobile are notoriously castrated compared to desktop equivalents) combined with 16gb of ddr4 to 3200mhz in dual channel, all that turns on a ssd nmve, we say it is a dicretly powerful machine. What do you use your intellicad with?
 
❖gp.Hello dear, good Easter.
is it complicated to filter a range of z values into a crossing selection of ssget?
I have no idea, so first I should set a x,z or y,z view, and I will repeat it every time around the single unit, which would make me feel like the times, since the concept is to select the entities close to the one in the loop.
ie, the nested loop takes advantage, because I cut off the detached entities, but the main loop is a huge workload multiplied by each entity.
unless you understand how to make a vertical crossing window, which gives me the selection to be subtracted, but without recalling a native command, which I have no idea and I'm afraid is not feasible, thank you!
 
Well here responsibility is not so easily identifiable. problems of ram capacity? processor frequency? I have an i7-11700 desktop (usually mobile are notoriously castrated compared to desktop equivalents) combined with 16gb of ddr4 to 3200mhz in dual channel, all that turns on a ssd nmve, we say it is a dicretly powerful machine. What do you use your intellicad with?
I use it with a low-end note, I specified it above, but with other programs I look good, the use improves a lot compared to the old pc. is with the old intellicad+lisp that is crazy slow. That's why I think it's just the cad. I haven't changed it for 15 years because I don't care about the additional functions, and to make use of other things, but obviously, as I say, they have overwhelmed the real motor of the cad. a little like it happened in graphics with the gpus.
 
❖gp.Hello dear, good Easter.
is it complicated to filter a range of z values into a crossing selection of ssget?
Bye, happy you too.

this is an example of filtering lines or 3dfaces with zeta of All the upper or equal to 15:

(**,*, > )(10 0.0 15.0)(-4 .*, > )(11 0.0 15.0))

(*,*, )(10 0.0 15.0)(4)(*, >=)(11 0.0 15.0)(11 0.0 15.0)(11 0.0 15.0)(4)(12 0.0 15.0)(4)(4)(*, )(12 0.0 15.0)(4)(*,*, >=)(13 0.0 15.0))

(if ( or (= "3dline" (cdr(assoc 0 alist))) (= "line" (cdr(assoc 0 alist))) )
Sono thing?
 
Beautiful! I didn't suppose I could set the command like this, I always used it on the plan! What are the 3dline? Intellicad reads me both, it will be a legacy of old drawings. I have this double use since my life, it may be useless now.
 
I have now done a hand test, calculates that the first lisp I wrote them late 80s on dxf baked by autocad but also by who knows what programs, a stuff like this, with the two versions, it takes me quietly:



entities
0
3D
5
2nd
100
acdbentity
8
0
100
acdblin
10
2.385533905119
20
6.249335664336
30
0.0
11
5.787911527497
21
4.419755244755
31
0.0
0
line line
5
2
100
acdbentity
8
0
100
acdblin
10
3.139460442
20
6.104895
30
0.0
 
I tried from command line
(*,*, )(10 0.0 15.0)(4)(*, >=)(11 0.0 15.0)(11 0.0 15.0)(11 0.0 15.0)(4)(12 0.0 15.0)(4)(4)(*, )(12 0.0 15.0)(4)(*,*, >=)(13 0.0 15.0))
mannaggia doesn't give me any mistakes but it seems that I don't take it, it doesn't show me anything and proposes me the methods of selection, if I conclude with enter, it returns me nil.
or wrong I do something or in my intellicad is not implemented :(
 
...it doesn't give me any mistakes but it seems I don't take it, it doesn't show me anything and proposes me the methods of selection, if I conclude with enter, it returns me nil.
have you selected 3dfaces with the zeta of all tops above 15?
 
have you selected 3dfaces with the zeta of all tops above 15?
I first selected "all", then entered your code, but I think I'm wrong, I never used something like that... it doesn't make me mistake, it's me that I don't make her work. . cmq is interesting the use of ssget with 3d coordinates, I never used it.. at this point instead of filtering it would be enough that I create the window as bounding box of the entity that I am looking for the twin entity!
 
I am grateful to him, I think he knows "everything" , I know that way of using ssget just didn't know him, I never used him ... and I still miss to understand it, what he did, especially that devil is that "-4", but I don't break him ... I have to study :)
 
the -4 is a conditional in the selection, the equivalent of a if
(*,*, )(10 0.0 15.0)(4)(*, >=)(11 0.0 15.0)(11 0.0 15.0)(11 0.0 15.0)(4)(12 0.0 15.0)(4)(4)(*, )(12 0.0 15.0)(4)(*,*, >=)(13 0.0 15.0))
said: Select 3dfaces only if coordinates z of coordinate groups 10,11,12 and 13 are equal to 15.
This is what is written as a ssget list.
other account is to imagine it before writing this selection: but from gp you can expect this and more.
❖gp. the condition (-4 . ....) I remember wrong that it closed also with a -4?
 

Forum statistics

Threads
44,997
Messages
339,767
Members
4
Latest member
ibt

Members online

No members online now.
Back
Top