Skip to content

Корректная обработка видимости DXF-примитивов по коду 60 - #1397

Open
konard wants to merge 4 commits into
veb86:masterfrom
konard:issue-788-57813ccb3ba2
Open

konard wants to merge 4 commits into
veb86:masterfrom
konard:issue-788-57813ccb3ba2

Conversation

@konard

@konard konard commented Jul 23, 2026

Copy link
Copy Markdown

Описание

Исправляет обработку группового кода DXF 60 для примитивов динамических блоков. Признак видимости хранится в GDBObjVisualProp, как предложено в комментарии к issue, и остаётся частью модели сущности после завершения загрузки DXF.

Что изменено

  • в GDBObjVisualProp добавлено свойство Visibility со значениями EVVisible и EVInvisible;
  • общий загрузчик сущностей устанавливает EVInvisible для кода 60 со значением 1 и EVVisible для значения 0; при отсутствии кода сущность по умолчанию видима;
  • общие пути отображения, выбора, поиска по точке, spatial tree и построения bounding box исключают невидимые сущности;
  • свойство видимости копируется вместе с остальными визуальными свойствами;
  • невидимая сущность сохраняется в модели блока и не использует временный TExtAttrib.

Воспроизведение и автоматическая проверка

Добавлен uzctentityvisibility.pas с анонимным блоком *U1 и тремя LINE-примитивами:

  1. код 60 = 1 — сущность получает EVInvisible, остаётся в модели, не выбирается и не влияет на bounding box;
  2. код 60 = 0 — сущность остаётся видимой;
  3. код 60 отсутствует — сущность остаётся видимой;
  4. невидимость сохраняется при CopyVPto.

Проверка

  • make tests — инфраструктурная ошибка: цель ссылается на отсутствующий каталог cad_source/components/zcontainers/tests;
  • прямой запуск cad_source/zengine/tests — недоступен в подготовленном окружении, поскольку Lazarus/FPC (lazbuild) не установлен;
  • рабочее дерево чистое, ветка основана на актуальном upstream/master.

Fixes #788

konard added 4 commits July 23, 2026 19:54
Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: veb86#788
@konard konard changed the title [WIP] Корректировка модуля чтения DXF для корректного отображения динамических блоков (состояния видимости) Корректная обработка видимости DXF-примитивов по коду 60 Jul 23, 2026
@konard
konard marked this pull request as ready for review July 23, 2026 20:00
@konard

konard commented Jul 23, 2026

Copy link
Copy Markdown
Author

Working session summary

Implemented and pushed the DXF visibility fix.

Key results:

  • Visibility is stored in GDBObjVisualProp, per maintainer feedback.
  • DXF code 60 values 1, 0, and absent are handled.
  • Invisible entities are excluded from rendering, picking, spatial bounds, and block bounding boxes.
  • Added regression tests, including visual-property copying.
  • PR title and description updated; PR marked ready for review.
  • Branch is clean and based on current upstream/master.

Local tests couldn’t compile because Lazarus/FPC is unavailable, and make tests references a missing test directory. No GitHub Actions runs exist for this branch.

PR: #1397


This summary was automatically extracted from the AI working session output.

@konard

konard commented Jul 23, 2026

Copy link
Copy Markdown
Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-5.6 Sol
  • Provider: OpenAI
  • Public pricing estimate: $5.541925

📊 Context and tokens usage:

  • 143.6K / 200K (72%) input tokens, 9.0K / 128K (7%) output tokens

Total: (143.6K + 3.7M cached) input tokens, 9.0K output tokens, $5.541925 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.6-sol
  • Thinking level: off (disabled)
  • Model: GPT-5.6 Sol (gpt-5.6-sol)

📎 Log file uploaded as Gist (1557KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard

konard commented Jul 23, 2026

Copy link
Copy Markdown
Author

✅ Ready to merge

This pull request is now ready to be merged:

  • CI workflows exist but were not triggered for this commit
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant