feat(array): edit associative arrays through their standard records

An associative array is an AcDbAssocAction with an
AcDbAssocArrayActionBody, dependencies on the array INSERT, the block
holding the item references and the block holding the source objects,
and value parameters (Items, ItemSpacing, Rows, …). Selecting the array
INSERT now shows its counts and spacings in Properties; changing one
places the items again and rewrites the item references, the body's
item records and the parameter values together, in one undo step, so
the drawing stays associative when saved.

Rectangular arrays follow their RowProfile axis, AxesAngle and base
normal; polar arrays turn about the centre recovered from their first
item, Radius and StartAngle. Both match the stored items of the
associative arrays in the sample drawings (122 of 123 rectangular, all
polar items of the polar samples). Path arrays are shown read-only.

Refs #1109

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-13 20:32:51 +03:00
1 parent b371a0a59e
commit 2bf77e4bd6
27 files changed
+831

No files matched your search

+10
View File
@@ -295,6 +295,16 @@ command-copy =
.mode = COPY أدخل خيار وضع النسخ [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = مصفوفة (مسار)
.assoc-array-array-polar = مصفوفة (قطبية)
.assoc-array-array-rectangular = مصفوفة (مستطيلة)
.assoc-array-item-spacing = تباعد العناصر
.assoc-array-fill-angle = زاوية التعبئة
.assoc-array-items = العناصر
.assoc-array-level-spacing = تباعد المستويات
.assoc-array-levels = المستويات
.assoc-array-row-spacing = تباعد الصفوف
.assoc-array-column-spacing = تباعد الأعمدة
.fbxexport-exported-to = FBXEXPORT: تم التصدير إلى "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: لا توجد بيانات شبكة ثلاثية الأبعاد في هذا الرسم.
.fbxexport-error = FBXEXPORT: ‏__ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.displacement = COPY Задайте преместване:
.mode = COPY Въведете режим на копиране [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Масив (по път)
.assoc-array-array-polar = Масив (полярен)
.assoc-array-array-rectangular = Масив (правоъгълен)
.assoc-array-item-spacing = Разстояние между елементите
.assoc-array-fill-angle = Ъгъл на запълване
.assoc-array-items = Елементи
.assoc-array-level-spacing = Разстояние между нивата
.assoc-array-levels = Нива
.assoc-array-row-spacing = Разстояние между редовете
.assoc-array-column-spacing = Разстояние между колоните
.fbxexport-exported-to = FBXEXPORT: експортирано в "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: няма 3D данни за мрежа в този чертеж.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY Zadejte režim kopírování [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Pole (podél cesty)
.assoc-array-array-polar = Pole (kruhové)
.assoc-array-array-rectangular = Pole (obdélníkové)
.assoc-array-item-spacing = Rozteč položek
.assoc-array-fill-angle = Úhel vyplnění
.assoc-array-items = Položky
.assoc-array-level-spacing = Rozteč úrovní
.assoc-array-levels = Úrovně
.assoc-array-row-spacing = Rozteč řádků
.assoc-array-column-spacing = Rozteč sloupců
.fbxexport-exported-to = FBXEXPORT: exportováno do "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: v tomto výkresu nejsou žádná data 3D sítě.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -283,6 +283,16 @@ command-copy =
.mode = COPY Kopiermodus eingeben [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Reihe (Pfad)
.assoc-array-array-polar = Reihe (polar)
.assoc-array-array-rectangular = Reihe (rechteckig)
.assoc-array-item-spacing = Elementabstand
.assoc-array-fill-angle = Füllwinkel
.assoc-array-items = Elemente
.assoc-array-level-spacing = Ebenenabstand
.assoc-array-levels = Ebenen
.assoc-array-row-spacing = Zeilenabstand
.assoc-array-column-spacing = Spaltenabstand
.fbxexport-exported-to = FBXEXPORT: exportiert nach "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: keine 3D-Mesh-Daten in dieser Zeichnung.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY Επιλέξτε λειτουργία αντιγραφής [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Πίνακας (διαδρομή)
.assoc-array-array-polar = Πίνακας (πολικός)
.assoc-array-array-rectangular = Πίνακας (ορθογώνιος)
.assoc-array-item-spacing = Απόσταση στοιχείων
.assoc-array-fill-angle = Γωνία πλήρωσης
.assoc-array-items = Στοιχεία
.assoc-array-level-spacing = Απόσταση επιπέδων
.assoc-array-levels = Επίπεδα
.assoc-array-row-spacing = Απόσταση γραμμών
.assoc-array-column-spacing = Απόσταση στηλών
.fbxexport-exported-to = FBXEXPORT: εξήχθη στο "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: δεν υπάρχουν δεδομένα πλέγματος 3D σε αυτό το σχέδιο.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY Enter a copy mode option [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Array (Path)
.assoc-array-array-polar = Array (Polar)
.assoc-array-array-rectangular = Array (Rectangular)
.assoc-array-item-spacing = Item spacing
.assoc-array-fill-angle = Fill angle
.assoc-array-items = Items
.assoc-array-level-spacing = Level spacing
.assoc-array-levels = Levels
.assoc-array-row-spacing = Row spacing
.assoc-array-column-spacing = Column spacing
.fbxexport-exported-to = FBXEXPORT: exported to "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: no 3D mesh data in this drawing.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -283,6 +283,16 @@ command-copy =
.mode = COPY Indique modo de copia [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Matriz (trayectoria)
.assoc-array-array-polar = Matriz (polar)
.assoc-array-array-rectangular = Matriz (rectangular)
.assoc-array-item-spacing = Espaciado de elementos
.assoc-array-fill-angle = Ángulo de relleno
.assoc-array-items = Elementos
.assoc-array-level-spacing = Espaciado de niveles
.assoc-array-levels = Niveles
.assoc-array-row-spacing = Espaciado de filas
.assoc-array-column-spacing = Espaciado de columnas
.fbxexport-exported-to = FBXEXPORT: exportado a «__ocs_fmt_0__»
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: no hay datos de malla 3D en este dibujo.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY Valitse kopiointitila [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Taulukko (polku)
.assoc-array-array-polar = Taulukko (polaarinen)
.assoc-array-array-rectangular = Taulukko (suorakulmainen)
.assoc-array-item-spacing = Kohdeväli
.assoc-array-fill-angle = Täyttökulma
.assoc-array-items = Kohteet
.assoc-array-level-spacing = Tasoväli
.assoc-array-levels = Tasot
.assoc-array-row-spacing = Riviväli
.assoc-array-column-spacing = Sarakeväli
.fbxexport-exported-to = FBXEXPORT: viety tiedostoon "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: tässä piirustuksessa ei ole 3D-verkkotietoja.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -283,6 +283,16 @@ command-copy =
.mode = COPY Entrez le mode de copie [Single/Multiple] <Multiple> :
common =
.assoc-array-array-path = Réseau (trajectoire)
.assoc-array-array-polar = Réseau (polaire)
.assoc-array-array-rectangular = Réseau (rectangulaire)
.assoc-array-item-spacing = Espacement des éléments
.assoc-array-fill-angle = Angle de remplissage
.assoc-array-items = Éléments
.assoc-array-level-spacing = Espacement des niveaux
.assoc-array-levels = Niveaux
.assoc-array-row-spacing = Espacement des rangées
.assoc-array-column-spacing = Espacement des colonnes
.fbxexport-exported-to = FBXEXPORT: exporté vers "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: aucune donnée de maillage 3D dans ce dessin.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -271,6 +271,16 @@ command-copy =
.mode = COPY कॉपी मोड विकल्प दर्ज करें [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = ऐरे (पथ)
.assoc-array-array-polar = ऐरे (ध्रुवीय)
.assoc-array-array-rectangular = ऐरे (आयताकार)
.assoc-array-item-spacing = आइटम अंतराल
.assoc-array-fill-angle = भरण कोण
.assoc-array-items = आइटम
.assoc-array-level-spacing = स्तर अंतराल
.assoc-array-levels = स्तर
.assoc-array-row-spacing = पंक्ति अंतराल
.assoc-array-column-spacing = कॉलम अंतराल
.fbxexport-exported-to = FBXEXPORT: "__ocs_fmt_0__" में निर्यात किया गया
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: इस ड्रॉइंग में कोई 3D मेश डेटा नहीं है।
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -281,6 +281,16 @@ command-copy =
.mode = COPY Adja meg a másolási módot [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Tömb (útvonal)
.assoc-array-array-polar = Tömb (poláris)
.assoc-array-array-rectangular = Tömb (téglalap)
.assoc-array-item-spacing = Elemtávolság
.assoc-array-fill-angle = Kitöltési szög
.assoc-array-items = Elemek
.assoc-array-level-spacing = Szinttávolság
.assoc-array-levels = Szintek
.assoc-array-row-spacing = Sortávolság
.assoc-array-column-spacing = Oszloptávolság
.fbxexport-exported-to = FBXEXPORT: exportálva a következőbe: "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: a rajz nem tartalmaz 3D hálóadatot.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY Specificare modalità di copia [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Serie (percorso)
.assoc-array-array-polar = Serie (polare)
.assoc-array-array-rectangular = Serie (rettangolare)
.assoc-array-item-spacing = Spaziatura elementi
.assoc-array-fill-angle = Angolo di riempimento
.assoc-array-items = Elementi
.assoc-array-level-spacing = Spaziatura livelli
.assoc-array-levels = Livelli
.assoc-array-row-spacing = Spaziatura righe
.assoc-array-column-spacing = Spaziatura colonne
.fbxexport-exported-to = FBXEXPORT: esportato in "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: nessun dato mesh 3D in questo disegno.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -273,6 +273,16 @@ command-copy =
.mode = COPY コピーモードを入力 [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = 配列複写 (パス)
.assoc-array-array-polar = 配列複写 (円形状)
.assoc-array-array-rectangular = 配列複写 (矩形状)
.assoc-array-item-spacing = 項目の間隔
.assoc-array-fill-angle = 充填角度
.assoc-array-items = 項目
.assoc-array-level-spacing = レベルの間隔
.assoc-array-levels = レベル
.assoc-array-row-spacing = 行の間隔
.assoc-array-column-spacing = 列の間隔
.fbxexport-exported-to = FBXEXPORT: "__ocs_fmt_0__" に書き出しました
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: この図面に 3D メッシュデータがありません。
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY 복사 모드 옵션 입력 [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = 배열 (경로)
.assoc-array-array-polar = 배열 (원형)
.assoc-array-array-rectangular = 배열 (직사각형)
.assoc-array-item-spacing = 항목 간격
.assoc-array-fill-angle = 채우기 각도
.assoc-array-items = 항목
.assoc-array-level-spacing = 레벨 간격
.assoc-array-levels = 레벨
.assoc-array-row-spacing = 행 간격
.assoc-array-column-spacing = 열 간격
.fbxexport-exported-to = FBXEXPORT: "__ocs_fmt_0__"로 내보냈습니다.
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: 이 도면에는 3D 메쉬 데이터가 없습니다.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY ປ້ອນຕົວເລືອກໂໝດການຄັດລອກ [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = ອາເຣ (ເສັ້ນທາງ)
.assoc-array-array-polar = ອາເຣ (ວົງມົນ)
.assoc-array-array-rectangular = ອາເຣ (ສີ່ຫຼ່ຽມ)
.assoc-array-item-spacing = ໄລຍະຫ່າງລາຍການ
.assoc-array-fill-angle = ມຸມເຕີມ
.assoc-array-items = ລາຍການ
.assoc-array-level-spacing = ໄລຍະຫ່າງລະດັບ
.assoc-array-levels = ລະດັບ
.assoc-array-row-spacing = ໄລຍະຫ່າງແຖວ
.assoc-array-column-spacing = ໄລຍະຫ່າງຖັນ
.fbxexport-exported-to = FBXEXPORT: ສົ່ງອອກໄປທີ່ "__ocs_fmt_0__" ແລ້ວ
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: ບໍ່ມີຂໍ້ມູນເມຊ 3D ໃນຮູບແຕ້ມນີ້.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -283,6 +283,16 @@ command-copy =
.mode = COPY Geef kopieermodus op [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Reeks (pad)
.assoc-array-array-polar = Reeks (polair)
.assoc-array-array-rectangular = Reeks (rechthoekig)
.assoc-array-item-spacing = Itemafstand
.assoc-array-fill-angle = Vulhoek
.assoc-array-items = Items
.assoc-array-level-spacing = Niveau-afstand
.assoc-array-levels = Niveaus
.assoc-array-row-spacing = Rijafstand
.assoc-array-column-spacing = Kolomafstand
.fbxexport-exported-to = FBXEXPORT: geëxporteerd naar "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: geen 3D-maasgegevens in deze tekening.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY Podaj tryb kopiowania [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Szyk (ścieżka)
.assoc-array-array-polar = Szyk (biegunowy)
.assoc-array-array-rectangular = Szyk (prostokątny)
.assoc-array-item-spacing = Odstęp elementów
.assoc-array-fill-angle = Kąt wypełnienia
.assoc-array-items = Elementy
.assoc-array-level-spacing = Odstęp poziomów
.assoc-array-levels = Poziomy
.assoc-array-row-spacing = Odstęp wierszy
.assoc-array-column-spacing = Odstęp kolumn
.fbxexport-exported-to = FBXEXPORT: wyeksportowano do „__ocs_fmt_0__”
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: brak danych siatki 3D na tym rysunku.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -283,6 +283,16 @@ command-copy =
.mode = COPY Informe o modo de cópia [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Matriz (caminho)
.assoc-array-array-polar = Matriz (polar)
.assoc-array-array-rectangular = Matriz (retangular)
.assoc-array-item-spacing = Espaçamento dos itens
.assoc-array-fill-angle = Ângulo de preenchimento
.assoc-array-items = Itens
.assoc-array-level-spacing = Espaçamento dos níveis
.assoc-array-levels = Níveis
.assoc-array-row-spacing = Espaçamento das linhas
.assoc-array-column-spacing = Espaçamento das colunas
.fbxexport-exported-to = FBXEXPORT: exportado para “__ocs_fmt_0__”
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: não há dados de malha 3D neste desenho.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -286,6 +286,16 @@ command-copy =
.mode = COPY Задайте режим копирования [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Массив (по траектории)
.assoc-array-array-polar = Массив (круговой)
.assoc-array-array-rectangular = Массив (прямоугольный)
.assoc-array-item-spacing = Расстояние между элементами
.assoc-array-fill-angle = Угол заполнения
.assoc-array-items = Элементы
.assoc-array-level-spacing = Расстояние между уровнями
.assoc-array-levels = Уровни
.assoc-array-row-spacing = Расстояние между рядами
.assoc-array-column-spacing = Расстояние между столбцами
.fbxexport-exported-to = FBXEXPORT: экспортируется в "__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: в этом чертеже нет данных 3D-сети.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -268,6 +268,16 @@ command-copy =
.mode = COPY Kopyalama modu seçin [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = Dizi (Yol)
.assoc-array-array-polar = Dizi (Kutupsal)
.assoc-array-array-rectangular = Dizi (Dikdörtgen)
.assoc-array-item-spacing = Öğe aralığı
.assoc-array-fill-angle = Doldurma açısı
.assoc-array-items = Öğeler
.assoc-array-level-spacing = Seviye aralığı
.assoc-array-levels = Seviyeler
.assoc-array-row-spacing = Satır aralığı
.assoc-array-column-spacing = Sütun aralığı
.fbxexport-exported-to = FBXEXPORT: "__ocs_fmt_0__" konumuna dışa aktarıldı
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT: Bu çizimde 3B örgü verisi yok.
.fbxexport-error = FBXEXPORT: __ocs_fmt_0__
+10
View File
@@ -270,6 +270,16 @@ command-copy =
.mode = COPY 输入复制模式选项 [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = 阵列 (路径)
.assoc-array-array-polar = 阵列 (环形)
.assoc-array-array-rectangular = 阵列 (矩形)
.assoc-array-item-spacing = 项目间距
.assoc-array-fill-angle = 填充角度
.assoc-array-items = 项目
.assoc-array-level-spacing = 层间距
.assoc-array-levels = 层数
.assoc-array-row-spacing = 行间距
.assoc-array-column-spacing = 列间距
.fbxexport-exported-to = FBXEXPORT:导出为"__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT:此绘图中没有3D网格数据。
.fbxexport-error = FBXEXPORT:__ocs_fmt_0__ 时间轴:
+10
View File
@@ -282,6 +282,16 @@ command-copy =
.mode = COPY 輸入複製模式選項 [Single/Multiple] <Multiple>:
common =
.assoc-array-array-path = 陣列 (路徑)
.assoc-array-array-polar = 陣列 (環形)
.assoc-array-array-rectangular = 陣列 (矩形)
.assoc-array-item-spacing = 項目間距
.assoc-array-fill-angle = 填滿角度
.assoc-array-items = 項目
.assoc-array-level-spacing = 層間距
.assoc-array-levels = 層數
.assoc-array-row-spacing = 列間距
.assoc-array-column-spacing = 欄間距
.fbxexport-exported-to = FBXEXPORT:匯出為"__ocs_fmt_0__"
.fbxexport-no-3d-mesh-data-in-this-drawing = FBXEXPORT:此繪圖中沒有3D網格資料。
.fbxexport-error = FBXEXPORT:__ocs_fmt_0__ 時間軸: