New translate command

I couldn’t do it…

copy move and scale . !!
we need these operation 1 command. please edit under codes as run. or add new command rhino. thanks.

+++++++++++

import rhinoscriptsyntax as rs

def KopyalaVeKucult():
    def kopyala_ve_küçült(nesneler, adet, aralık, küçültme_oranı):
        for nesne_id in nesneler:
            for i in range(adet):
                kopya_id = rs.CopyObject(nesne_id, [0, 0, 0])
                oran = küçültme_oranı ** i
                rs.ScaleObject(kopya_id, [0, 0, 0], [oran, oran, oran])
                rs.MoveObject(kopya_id, [0, i * aralık, 0])

    seçili_nesneler = rs.GetObjects("Kopyalanacak nesneleri seçin", preselect=True)

    if seçili_nesneler:
        adet = rs.GetInteger("Kaç kopya oluşturmak istiyorsunuz?", 5)
        aralık = rs.GetReal("Kopyalar arasındaki mesafeyi girin:", 1)
        küçültme_oranı = rs.GetReal("Küçültme oranını girin (0 ile 1 arasında):", 0.5)

        if adet and aralık and küçültme_oranı:
            kopyala_ve_küçült(seçili_nesneler, adet, aralık, küçültme_oranı)
    else:
        print("Lütfen en az bir nesne seçin.")

if __name__ == "__main__":
    KopyalaVeKucult()

++++++++++++++

or

ArrayLinear

you can add a spec… in ArrayLinear “scale” option…

also check _orient and _orient3pt both offer a bunch of copy and scale combinations / options.

and hardly recommended to do scripting / programming in pure english.
also to get better feedback here in the forum. ( I do not understand the intention of your script at all)

avoid special characters in naming variables / functions / parameters !!!
(even if it works, sooner or later you will run into a ugly maybe un-debuggable error)…

i need a lineerarray operation with scaled a value … upper or down value .

lineer copy -scaled between from start point. to end point.

multipli pieces example: 30 pieces.

how can i add
interval length : 0.3
please change the codes…

– coding: utf-8 –

import rhinoscriptsyntax as rs

def KopyalaVeKucult():
def kopyala_ve_küçült(nesneler, adet, aralık, küçültme_oranı):
for nesne_id in nesneler:
for i in range(adet):
kopya_id = rs.CopyObject(nesne_id, [0, 0, 0])
oran = küçültme_oranı ** i
rs.ScaleObject(kopya_id, [0, 0, 0], [oran, oran, oran])
rs.MoveObject(kopya_id, [0, i * aralık, 0])

seçili_nesneler = rs.GetObjects("Kopyalanacak nesneleri seçin", preselect=True)

if seçili_nesneler:
    adet = rs.GetInteger("Kaç kopya oluşturmak istiyorsunuz?", 5)
    aralık = rs.GetReal("Kopyalar arasındaki mesafeyi girin:", 1)
    küçültme_oranı = rs.GetReal("Küçültme oranını girin (0 ile 1 arasında):", 0.5)

    if adet and aralık and küçültme_oranı:
        kopyala_ve_küçült(seçili_nesneler, adet, aralık, küçültme_oranı)
else:
    print("Lütfen en az bir nesne seçin.")

if name == “main”:
KopyalaVeKucult()

If you format your code correctly for posting here, it is more likely someone will look at it.

image

Three backticks and python
<your code here>
Three more backticks

Also in general, variables in English and in standard ASCII (no special characters) will also help other people understand.