forked from 1b-agent/opencadstudio-upstream
feat(bedit): author visibility states of dynamic blocks
In the Block Editor, BVSTATE makes a new visibility state, makes one current, renames or deletes one; BVHIDE and BVSHOW hide or show the picked objects in the current state (BVSHOW shows every object of the block while they are picked). The first use makes the block dynamic. The states are stored as the format keeps them: a BLOCKVISIBILITYPARAMETER in the block's ACAD_ENHANCEDBLOCK evaluation graph with its visibility grip and the grip's two location expressions, the round-trip purge preventer, AcDbDynamicBlockTrueName / AcDbDynamicBlockGUID / AcDbBlockRepETag on the definition and element tags on each of its objects. The definition shows its first state; a reference given another state gets its own evaluated *U copy, tagged AcDbBlockRepBTag and linked back through AcDbBlockRepresentation / AcDbRepData, so it shows that state and the other references do not change. Saving the block drops erased objects from the states. Checked: a block authored this way reads back with its states and reference link from DWG and DXF, and the ODA converter accepts the DWG. Closes #1566 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
353c1b0d0f
commit
da8e976a60
31 files changed
+1464
-1
No files matched your search
@@ -3124,6 +3124,19 @@ modify =
|
||||
.attedit-select-block-with-attributes = ATTEDIT Выберите блок с атрибутами:
|
||||
.annotation-object-scale = Масштаб аннотативного объекта
|
||||
.bedit-select-block-reference-to-edit = BEDIT Выберите ссылку на блок для редактирования:
|
||||
.bvstate-option = BVSTATE Введите параметр [Новое/Установить/Переименовать/Удалить] <Установить>:
|
||||
.bvstate-new-name = BVSTATE Введите имя нового состояния видимости:
|
||||
.bvstate-set = BVSTATE Введите состояние видимости, которое станет текущим <__ocs_fmt_0__>:
|
||||
.bvstate-rename-from = BVSTATE Введите состояние видимости для переименования <__ocs_fmt_0__>:
|
||||
.bvstate-rename-to = BVSTATE Введите новое имя:
|
||||
.bvstate-delete = BVSTATE Введите состояние видимости для удаления:
|
||||
.bvstate-not-found = Состояние видимости "__ocs_fmt_0__" не найдено.
|
||||
.bvstate-exists = Состояние видимости "__ocs_fmt_0__" уже существует.
|
||||
.bvstate-last = Единственное состояние видимости нельзя удалить.
|
||||
.bvstate-needs-bedit = __ocs_fmt_0__: сначала откройте блок в редакторе блоков (BEDIT).
|
||||
.bvstate-current = Текущее состояние видимости: __ocs_fmt_0__
|
||||
.bvhide-select = Выберите объекты, которые нужно скрыть:
|
||||
.bvshow-select = Выберите объекты, которые нужно показать:
|
||||
.arrayedit-select-array = ARRAYEDIT Выберите массив:
|
||||
.arrayedit-options = ARRAYEDIT Введите параметр [Исходные/eXit] <eXit>:
|
||||
.arrayedit-not-an-array = ARRAYEDIT: выбранный объект не является ассоциативным массивом.
|
||||
|
||||
Reference in new issue
Block a user