Hi all,
In LDCad it is possible to select a part and then select same part, same part and color, same color, same step...
But now I am looking for a way to select all parts that are at the same height, i.e. y-coordinate.
@Roland: I'd like to suggest that for a next version?
For now: can this be done with a script?
Thanks!
Jaco
(2022-03-23, 6:45)Jaco van der Molen Wrote: [ -> ]For now: can this be done with a script?
This can be done in script.
You can get the Y value from the current selection.
Then loop trough all parts adding the ones with the same Y coordinate.
(2022-03-23, 19:15)Roland Melkert Wrote: [ -> ]This can be done in script.
You can get the Y value from the current selection.
Then loop trough all parts adding the ones with the same Y coordinate.
I thought as much. Alas, I have no clue how to make such a script.
So either can someone point me in the right direction or is someone willing to code this script?
Much apprieciated!
(2022-03-24, 6:09)Jaco van der Molen Wrote: [ -> ]is someone willing to code this script?
I am.
Quick-and-dirty without rounding or user-interaction. Just selecting all parts with the same Y value as the exactly one selected part.
Code:
function select_same_y()
local ses=ldc.session()
if not ses:isLinked() then
ldc.dialog.runMessage('No active model.')
return
end
local sel=ses:getSelection()
local cnt=sel:getRefCount()
if cnt~=1 then
ldc.dialog.runMessage('Exactly one item should be selected.')
return
end
local y=sel:getRef(1):getPos():getY()
local sf=ldc.subfile()
local refCnt=sf:getRefCount()
for i=1,refCnt do
local ref=sf:getRef(i)
local pos=ref:getPos()
if (pos:getY()==y) then
sel:add(ref)
end
end
end
function register()
local macro=ldc.macro('SelectSameY')
macro:setHint('Select all parts with same Y value.')
macro:setEvent('run', 'select_same_y')
end
register()
(2022-03-24, 15:19)Stefan Frenz Wrote: [ -> ]I am. Quick-and-dirty without rounding or user-interaction. Just selecting all parts with the same Y value as the exactly one selected part.
Thank you, this is exactly what I need for now with the model I am working on.