RS.Transmeet
版本历史
1.4.7 — 2026-10-14–16 — 几何族:平面线、子类别与类型参数
以族内几何传递的图元新增平面符号表达:门开启线、轴线与符号显示在楼层平面和天花板平面中,不显示在立面中。
每个实体获得源族的子类别,例如门的“框/梃”“玻璃”“门扇”等,因此可通过项目对象样式按子类别控制线宽与可见性。
源族的类型参数,包括类型标记、型号、制造商、注释记号、成本、门窗宽度与高度等,以相同值传递到族中;共享参数保留相同 GUID,族类型名称与来源一致。
传递“始终垂直”和“房间计算点”设置,使门窗正确纳入房间明细表。
这些数据仅由源端已更新的插件发送,请同时更新两端。
与产品系列所有插件一样,本插件新增 Revit 视图选项卡着色。在“设置”窗口“Revit 选项卡”区域控制启用、“填充”或“色条”样式,以及按项目或文件配色。默认填充整个选项卡,也可重新选择色条;活动选项卡不比其他选项卡更亮,而以顶部色条标识。
可从 RS.BIMManager 应用程序用命令打开插件窗口,与功能区按钮一样执行许可检查。
使用数据:除累计工作分钟数外,仅发送“插件已启动”状态,仍不发送计算机、用户或文件标识符。
1.4.6 — 2026-10-14 — 静态几何以相同类别的族传递
无法以原族传递的图元改用同类别可载入族,而非 DirectShape 形状。DirectShape 保留为备用方式,报告会说明使用原因。
基于墙、楼板、天花板或屋顶的图元会以相同方向放置到已传递的同一主体,并切出洞口:墙按图元实体贯穿全部厚度,楼板、天花板与屋顶按平面范围切洞。若主体未传递,则无主体放置族。
无法赋予可载入族的类别,如楼梯、栏杆和风管,转为“常规模型”,并在报告中注明。
同一类型且仅绕竖轴旋转的实例,共用按来源类型生成的一个族,名称为“族 - 类型”。名称避免与项目现有族重名,不覆盖其他族。
重复运行时,不改动未变化的族与实例,变化项重新放置;将早期版本的 DirectShape 替换为族,并删除来源中已删除的项。
1.4.1–1.4.3 — 2026-10-12–13 — 许可、更新与名称
许可与更新(RS-Systems 产品系列通用):可用代码延长试用,本机签发的许可证可离线激活,接受 RS-XXXX-XXXX-XXXX 格式的网站短代码,修复套装许可证(Suite),并加强许可保护。所有已安装 RS-Systems 工具的更新在同一窗口显示,退出 Revit 后统一安装;手动检查入口为“设置”→“所有 RS-Systems 工具的更新…”。
统一名称:窗口和消息中为 rs.Transmeet,“程序和功能”及安装程序名称中为 RS.RVT.Transmeet。新安装程序覆盖更新已安装版本,保留许可证与试用期。
修复与稳定性改进。
1.4.0 — 2026-10-12 — .rstm 包与按描述重建的可载入族
.rstm 包:在“发送模型”一端点击“导出到包…”,可将模型导出为文件;无需打开来源,即可在“接收模型”一端通过“从包…”在任意 Revit 2021–2027 版本重建。后续与实时通道一致,提供图层复选框、报告、重复运行及 Ctrl+Z 分步撤销。
新增默认启用的“可载入族”图层:在来源中描述每个带实例的族,再在较早版本中从 .rft 样板重建,包含类别与标志、参数与公式、族类型、参照平面、实体(拉伸、融合、旋转、放样)、线、子类别、最多三级嵌套族及带标签尺寸。实例按放置类型定位:基于标高、主体、两个标高、曲线或工作平面。
描述不支持的内容会列入警告,例如放样融合、自由形状、连接件、文字和标签等。无法重建的族或实例通过“族转几何”图层传递。
族、族类型、参照平面和子类别名称与其他名称一样进行非法字符替换。
1.3.0 — 2026-10-12 — 族转几何;单个步骤错误不再中断传递
新增默认启用的“族转几何”图层:可载入族、内建族、DirectShape 及其他带实体的模型图元以相同类别的形状传递。可写参数值进入接收端同名参数,完整的实例与类型参数列表写入“RS.Transmeet Params”和“RS.Transmeet Type Params”,可据此生成明细表。
单个步骤或图层出错不再中断传递。报告添加“错误”行并继续执行;源端无法读取的图元标记为“已跳过”,并说明原因。
名称中含有 Revit 禁止的字符 (\ : { } [ ] | ; < > ? ` ~) 时,以相似的允许字符替换,既修改图元自身,也修改所有指向它的引用。每次替换在报告中记录为一行“注意”。
Revit 不复制的视图类型,如“图纸”,以带说明的“已跳过”标记代替错误。“模型”图层报告只列出任何图层均不传递的内容:组、Revit 链接、CAD 导入和模型线。
1.2.7 — 2026-10-09 — 公共功能区:移除 Descriptor 按钮
原因:作者将 RS.Descriptor 整合到 RS.Exporter 的“Export Model”选项卡,不再作为独立 Descriptor 工具。公共功能区目录在系列全部插件中相同,因此全部同步更改。
标准 SRC/SuiteRibbon/RsSuiteRibbon.cs 在产品系列全部工具中逐字节一致:移除了 Tools 面板目录中的 RS.Descriptor / RS_Descriptor_Btn /“Descriptor”行。插件自身按钮不受影响。
已检查 RsSuiteRibbon.cs 语法(tree-sitter),全部工具的标准文件 md5 一致。本次未执行 .NET 构建,因为 SDK 与 Revit API 仅在构建计算机上可用。
文件:SRC/SuiteRibbon/RsSuiteRibbon.cs、SRC/Installer/version.txt、CHANGELOG.md。
1.2.6 — 2026-10-09 — 公共功能区:以 RS.Exporter 替换 RS.DxfExport
原因:作者将 RS.DxfExport 和 RS.ScheduleExport 合并为 RS.Exporter,按钮为 RS-Systems 选项卡 Tools 面板中的“Export”。公共功能区目录在产品系列所有插件中相同,因此全部同步更改。
标准 SRC/SuiteRibbon/RsSuiteRibbon.cs 在全部 15 款工具中逐字节一致:在 Tools 面板相同位置,将 RS.DxfExport / RsDxfExport /“DFX”目录行替换为 RS.Exporter / RsExporter /“Export”。插件自身按钮不受影响。
已检查 RsSuiteRibbon.cs 语法(tree-sitter),全部工具的标准文件 md5 一致。本次未执行 .NET 构建,因为 SDK 与 Revit API 仅在构建计算机上可用。
文件:SRC/SuiteRibbon/RsSuiteRibbon.cs、SRC/Installer/version.txt、CHANGELOG.md。
1.2.5 — 2026-10-09 — 遥测 v3:仅记录“当前是否在使用”与工作时间
原因:作者要求重新设计所有插件的遥测,只需知道当前是否在使用插件以及使用多长时间,不关心安装与具体操作。时间按实际插件工作计算,与按时间付费一致。
标准 Telemetry\ 文件夹采用 rs-systems-telemetry-v3 格式,在全部 15 个插件中逐字节一致:仅发送产品、随机会话 id(每次启动 Revit 重新生成,不保存于任何位置)、会话累计工作分钟数与会话结束标志。移除了安装标识符(机器指纹)、版本、许可与试用状态及操作计数。第一个工作分钟立即发送,之后仅在时间增加时发送,频率不高于每 2 分钟一次,…
工作时间由许可子系统按与时间计费相同的标准计算,但适用于所有许可模式:在插件窗口和面板中输入(不包括激活/付款窗口)、获准执行命令、LicenseGate.Busy()、后台工作(TryBackgroundUse)。有活动的分钟按完整工作分钟计算;闲置窗口不算工作。标准 Licensing\:WalletMeter.cs(MarkWork、WorkMinutes)、LicenseGate.cs(在获准操…
首次接入遥测:标准 Telemetry\ 文件夹包含 4 个文件,商业构建在 SRC/Directory.Build.props 中使用 RS_TELEMETRY 符号,OnStartup 调用 Telemetry.Launch,OnShutdown 调用 Telemetry.Shutdown。Personal 不编译遥测。
1.2.4 — 2026-10-09 — MSI:用于网站的 Product key 与 Product ID
原因:作者要求在网站产品卡片中选择安装包时,从 MSI 本身读取 Product key 并自动填入。此前 MSI 既没有目录键,也没有许可标识符,网站无从读取,产品卡片可能被指定其他产品的安装包。
SRC/Installer/Product.wxs:将 RS_PRODUCT_KEY(网站目录键)和 RS_PRODUCT_ID(许可标识符)写入 Property 表。未传入这些值时,WiX 会以明确错误停止构建。
msi.bat:从 UpdateProduct.cs(SiteProductKey、LicenseProductId)读取值,无需手动输入。若读取失败,msi.bat 会报错停止,而不是构建缺少键的 MSI;构建输出包含 [RS] Product key: … Product ID: … 行。
网站在选择 MSI 时读取 RS_PRODUCT_KEY,将其填入新产品卡片,并拒绝键不匹配的 MSI。
1.2.3 — 2026-10-09 — 产品系列许可标准:离线仅限试用或许可证,在线可按时间付费;修复漏洞并加强保护
原因:作者要求统一产品系列的许可标准,离线仅能凭完整许可证或在试用期内使用,按时间付费仅允许在线使用,并检查、修复已知漏洞,提高可靠性并尽可能增加破解难度。标准 Licensing\ 文件夹已在全部 15 款工具中逐字节更新,包含 29 个文件,其中新增 LicenseVault.cs;只更改该文件夹及 .csproj 中一行导入。
发现并修复的漏洞:
钱包快照 state.dat 以未保护的 JSON 存储。在阻断服务器时,伪造 ("p":"2099…", "r":1) 可获得无限期的离线时间计费使用权限。现在快照经过封装保护(LicenseVault.Seal:HMAC-SHA256 + 绑定 MachineGuid/卷),且仅在以下条件内接受:时间不在未来、不早于 10 分钟前,已付费分钟从收到响应起 ≤ 61 秒。
调回时钟曾会延长“按时间”使用权限。计时器 WalletMeter 的全部时限改用进程单调时钟 Stopwatch;已付费分钟及服务器响应的“新鲜度”不再依赖系统时间。
1.2.2 — 2026-10-06 — 无警告构建
原因:构建 1.2.1 产生 4 条 CS0649 警告(各 2 次,分别在
主项目与临时 WPF 项目中),每个年份均如此。
从传递契约(Transfer\Dto2.cs)移除了从未
赋值的字段:CompoundDto.EndCapInterior, CompoundDto.EndCapExterior,
1.2.1 — 2026-10-06 — 按时间付费许可证(标准 Licensing\,包含 28 个文件)
原因:作者提供了参考工具 RS.SmartSelect,包含最新标准的
激活子系统,支持账户钱包(RS-WALLET)。
Licensing\ — 与 RS.SmartSelect 的 28 个文件逐字节一致,只有自有的
LicensingConstants.cs(ProductId revittransmeet,“RS Transmeet”)例外。新增:
1.2.0 — 2026-10-06 — 传递除可载入族外的全部内容;核对、XLSX 报告与新图标
原因:作者要求完善许可、图标与全部辅助
功能,将可载入族留到下一阶段,因为它是最
复杂且耗时的部分。与作者确认的范围为“除族以外的全部内容”——系统
类型与图元、房间、视图、样板、过滤器、明细表、图纸,
1.1.0 — 2026-10-06 — 将模型传递到较早 Revit 版本(阶段 1)并统一产品系列标准
原因:作者要求将正在 Revit 2025 中维护的模型,
在 Revit 2023 中重建,以完整继续设计,无需手动
重新建模。作者的决策与工作计划记录于项目文档
claude/RS-TRANSMEET.md。本次为按该文档的首次交付:阶段 1 加上工具迁移
历史依据所提供源码归档中的 CHANGELOG.md 整理,展示最近 12 条记录。