当前位置: 首页 > news >正文

VB.net进行CAD二次开发(四)

netload不能弹出对话框,参考文献2

参考文献1说明了自定义菜单的问题,用的是cad的系统命令

只要加载了dll,自定义的命令与cad的命令同等地位。

这时,可以将自定义菜单的系统命令替换为自定义命令。

        <CommandMethod("AddMenu")>
        Public Sub AddMenu()
            Dim currentPath1 As String = System.Environment.CurrentDirectory
            Dim currentPath As String = "D:\testVBNet\ODPM"
            Dim cs As CustomizationSection = activeDoc.AddCui(cuiFile, menuGroupName)

            cs.AddMacro("面板", "^C^C_CreatePalette1 ", "ID_MyPalette", "创建面板:   CreatePalette1", currentPath & "\Image\Line.BMP")
            cs.AddMacro("多段线", "^C^C_Pline ", "ID_MyPLine", "创建二维多段线:  PLINE", currentPath & "\Image\Polyline.BMP")
            cs.AddMacro("矩形", "^C^C_Rectang ", "ID_MyRectang", "创建矩形多段线:  RECTANG", currentPath & "\Image\Rectangle.BMP")
            cs.AddMacro("圆", "^C^C_circle ", "ID_MyCircle", "用指定半径创建圆:   CIRCLE", currentPath & "\Image\Circle.BMP")
            cs.AddMacro("复制", "^C^CCopy ", "ID_MyCopy", "复制对象:   COPY", currentPath & "\Image\Copy.BMP")
            cs.AddMacro("删除", "^C^CErase ", "ID_MyErase", "从图形删除对象:   ERASE", currentPath & "\Image\Erase.BMP")
            cs.AddMacro("移动", "^C^CMove ", "ID_MyMove", "将对象在指定方向上平移指定的距离:  MOVE", currentPath & "\Image\Move.BMP")
            cs.AddMacro("旋转", "^C^CRotate ", "ID_MyRotate", "绕基点旋转对象:  ROTATE", currentPath & "\Image\Rotate.BMP")
            Dim sc As StringCollection = New StringCollection()
            sc.Add("MyPop1")
            Dim myMenu As PopMenu = cs.MenuGroup.AddPopMenu("我的菜单", sc, "ID_MyMenu")

            If myMenu IsNot Nothing Then
                myMenu.AddMenuItem(-1, "面板", "ID_MyPalette")
                myMenu.AddMenuItem(-1, "多段线", "ID_MyPLine")
                myMenu.AddMenuItem(-1, "矩形", "ID_MyRectang")
                myMenu.AddMenuItem(-1, "圆", "ID_MyCircle")
                myMenu.AddSeparator(-1)
                Dim menuModify As PopMenu = myMenu.AddSubMenu(-1, "修改", "ID_MyModify")
                menuModify.AddMenuItem(-1, "复制", "ID_MyCopy")
                menuModify.AddMenuItem(-1, "删除", "ID_MyErase")
                menuModify.AddMenuItem(-1, "移动", "ID_MyMove")
                menuModify.AddMenuItem(-1, "旋转", "ID_MyRotate")
            End If

            cs.LoadCui()
        End Sub

如果发现菜单一直没有更新,额可以将自定义的cuix文件删除,重新加载

自动加载dll的方法见参考文献7

至此VB.net开发CAD所有关节全部打通。

正式进入实际编程阶段。

相对于VBA,VB.net更为灵活,做出的东西更像一个产品。

参考文献

vbnet 实现AutoCAD自定义菜单和工具栏_vb,net 开发cad 添加菜单栏下拉子菜单-CSDN博客

AutoCAD输入netload命令后不弹出菜单而是一直显示程序集文件名解决方案-CSDN博客

https://www.cnblogs.com/loveclumsybaby/archive/2012/08/21/2649050.html

AutoCAD中.Net实现打开程序自动加载菜单栏的方法_cad二开自动加载按钮-CSDN博客

https://www.cnblogs.com/bomb12138/p/3607929.html

https://www.cnblogs.com/bomb12138/p/3600842.html

cad二次开发——自动运行dll,加载菜单(收集)_cad开启自动加载dll-CSDN博客

相关文章:

VB.net进行CAD二次开发(四)

netload不能弹出对话框&#xff0c;参考文献2 参考文献1说明了自定义菜单的问题&#xff0c;用的是cad的系统命令 只要加载了dll&#xff0c;自定义的命令与cad的命令同等地位。 这时&#xff0c;可以将自定义菜单的系统命令替换为自定义命令。 <CommandMethod("Add…...

3步轻松月入过万,APP广告新模式大揭秘!

万万没想到&#xff1a;用这个APP广告模式&#xff0c;月入过万竟然如此简单&#xff01; 在移动应用开发的世界里&#xff0c;变现一直是一道难题。 许多APP开发者和产品经理为了提高收益、增强用户黏性&#xff0c;不断尝试各种策略。 然而&#xff0c;很多时候&#xff0c…...

java项目之智能家居系统源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的智能家居系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于Springboot的智能家居系…...

前端 JS 经典:读取文件原始内容

前言&#xff1a;有些时候在工程化开发中&#xff0c;我们需要读取文件里面的原始内容&#xff0c;比如&#xff0c;你有一个文件&#xff0c;后缀名为 .myfile&#xff0c;你需要拿到这个文件里的内容&#xff0c;该怎么处理呢。 在 vue2 中&#xff0c;因为 vue2 使用 vue-c…...

汇编概论和实践

一 汇编第一例 C代码 #include <stdio.h>int main() {printf("Hello, World!\n");return 0; }对应的汇编 .LC0:.string "Hello, World!"main:pushq %rbpmovq %rsp, %rbpleaq .LC0(%rip), %rdicall puts@PLTmovl $0, %eaxpopq %rbpret 二 CPU架构…...

铁塔基站用能监控能效解决方案

截至2023年10月&#xff0c;我国5G基站总数达321.5万个&#xff0c;占全国通信基站总数的28.1%。然而&#xff0c;随着5G基站数量的快速增长&#xff0c;基站的能耗问题也逐渐日益凸显&#xff0c;基站的用电给运营商带来了巨大的电费开支压力&#xff0c;降低5G基站的能耗成为…...

keepalived安装文档

目录 1、安装环境 2、安装keepalived 2.1 上传keepalived安装文件 2.2 解压 2.3 安装keepalived 2.4 加入开机启动&#xff1a; 2.5 配置日志文件 2.6 打开防火墙的通讯地址 1、安装环境 su - root yum -y install kernel-devel* yum -y install openssl-* yum -y …...

Spring Security

Spring Security spring提供的安全框架。主要提供了认证和授权的功能。简单梳理看看。   原理简单说就是Spring Security在基于Servlet应用中,其底层采用了Filter机制实现了对请求的认证,授权和漏洞防御等功能。 DelegatingFilterProxy 我们知道,Filter是Servlet规范里面…...

vue中大屏可视化适配所有屏幕大小

1. 外部盒子 .screenBox {width: 100vw;height: 100vh;background: url("/assets/images/bg.png") no-repeat;background-size: cover; }2.比例盒子 外层盒子css定义 .boxScale {width: 1920px;height: 1080px;background-color: orange;transform-origin: left top;…...

AI大模型探索之路-实战篇12: 构建互动式Agent智能数据分析平台:实现多轮对话控制

系列篇章&#x1f4a5; AI大模型探索之路-实战篇4&#xff1a;深入DB-GPT数据应用开发框架调研 AI大模型探索之路-实战篇5&#xff1a;探索Open Interpreter开放代码解释器调研 AI大模型探索之路-实战篇6&#xff1a;掌握Function Calling的详细流程 AI大模型探索之路-实战篇7…...

深入理解文件系统和日志分析

文件是存储在硬盘上的&#xff0c;硬盘上的最小存储单位是扇区&#xff0c;每个扇区的大小是512字节。 inode&#xff1a;存储元信息&#xff08;包括文件的属性&#xff0c;权限&#xff0c;创建者&#xff0c;创建日期等等&#xff09; block&#xff1a;块&#xff0c;连续…...

vue+vant移动端显示table表格加横向滚动条

vant移动端显示table效果&#xff0c;增加复选框&#xff0c;可以进行多选和全选。加横向滚动条&#xff0c;可以看全部内容。 <template><div class"app-container"><div class"nav_text" style"position: relative;"><…...

webserver服务器从零搭建到上线(八)|EpollPoller事件分发器类

文章目录 EpollPoller事件分发器类成员变量和成员函数解释私有的成员函数和成员变量成员函数 具体实现常量的作用构造函数和析构函数⭐️poll函数updateChannel函数removeChannel 函数removeChannel 和updateChannel⭐️fillActiveChannels 函数⭐️update 函数 总结 终于要开始…...

SD-WAN:企业网络转型的必然趋势

随着SD-WAN技术的不断进步和完善&#xff0c;越来越多的企业选择利用SD-WAN进行网络转型。根据IDC的研究&#xff0c;47%的企业已经成功迁移到SD-WAN&#xff0c;另有48%的公司计划在未来两个月内部署这一技术。 据Channel Futures报道&#xff0c;一位合作伙伴透露&#xff0c…...

构建高效稳定的短视频直播系统架构

随着短视频直播的迅猛发展&#xff0c;构建一个高效稳定的短视频直播系统架构成为了互联网企业的重要挑战。本文将探讨如何构建高效稳定的短视频直播系统架构&#xff0c;以提供优质的用户体验和满足日益增长的用户需求。 ### 1. 短视频直播系统的背景 短视频直播近年来蓬勃发…...

python分别保存聚类分析结果+KeyError: ‘CustomerID‘报错

如何在完成聚类分析后按聚类编号保存数据并且带上原数据所属ID # 将每个聚类的数据保存到不同的文件中 for cluster_id in range(6): # 假设共有6个聚类cluster_data data[data[cluster] cluster_id]cluster_data_with_customer_id cluster_data.copy()cluster_data_with_…...

Sui与Atoma合作为开发者提供AI支持

AI初创公司Atoma宣布其即将推出的推理网络将与Sui集成&#xff0c;该网络将使开发者能够在他们的应用程序中使用AI工具。Atoma选择Sui作为其第一个区块链集成对象是由于Sui的可扩展性和性能。 尽管生成式AI在过去几年中引起了轰动&#xff0c;但它尚未进入许多消费者应用程序。…...

go-gin中session实现redis前缀和db库选择+单点登录

分别实现了redigo中自动加前缀和session中自动加前缀 等有空了整理一个demo放到github上&#xff0c;到时候求个小星星 在gin-contrib/sessions/redis库中redis的前缀是被封装起来了&#xff0c;所以自定义前缀没有内部方法在这里我们自己实现一下NewStoreWithDBPrefix方法配…...

python-双胞胎字符串

[问题描述]&#xff1a;给定两个字符串s和t&#xff0c;每次可以任意交换s的奇数位和偶数位的字符&#xff0c;即奇数位的字符可以与任意其它奇数位的字符交换&#xff0c;偶数位的字符同样也可以与任意偶数位的字符的字符交换&#xff0c;问能否在有限的次数的交换下使s变为t?…...

万字长文,小白新手怎么开始做YOLO实验,从零开始教!整体思路在这里,科研指南针!

最近专栏来了很多的新手小白&#xff0c;对科研实验的过程感到困惑和无从下手&#xff0c;这篇文章就来讲解一下整体的科研流程&#xff0c;从选择数据集到发表论文的各个步骤&#xff0c;并针对大家在实验中常犯的错误进行解答。并且为大家提供通向我其他相关博客的指引&#…...

从零到一:Ubuntu Server上构建生产级Slurm计算集群

1. 环境准备与系统配置 在开始构建Slurm集群之前&#xff0c;我们需要确保所有节点都处于干净、一致的初始状态。我建议使用Ubuntu Server 22.04 LTS版本&#xff0c;这个长期支持版本经过充分测试&#xff0c;稳定性有保障。实际部署中发现&#xff0c;不同Linux发行版间的软件…...

嵌入式Linux动态引脚复用实战:RK3568 GPIO与I2C功能切换详解

1. 项目概述与核心价值在嵌入式Linux开发中&#xff0c;尤其是基于瑞芯微RK3568这类高度集成的SoC平台&#xff0c;引脚复用&#xff08;Pin Mux&#xff09;的管理是驱动开发者的基本功&#xff0c;也是从“会用”到“精通”的关键分水岭。很多朋友在初次接触时&#xff0c;往…...

2026年国内数字人平台推荐:有哪些创作者与企业的高效创作利器?

一、引文/摘要在数字人领域&#xff0c;制作成本高、技术门槛高、生产效率低已成为内容创作的核心痛点。 2026年&#xff0c;AI数字人市场持续扩张&#xff0c;创作者与企业对低成本、易上手、全链路的数字人解决方案需求激增。但市场平台繁杂&#xff0c;功能与技术差异显著&a…...

基于Dify平台快速构建AI对话机器人:从部署到生产级实践

1. 项目概述与核心价值最近在折腾AI应用落地的过程中&#xff0c;我反复被一个问题困扰&#xff1a;如何把一个强大的大语言模型&#xff08;LLM&#xff09;能力&#xff0c;快速、低成本地封装成一个能实际解决业务问题的对话机器人&#xff1f;自己从零开始搭框架、写API、处…...

信号处理库mattbaconz/signal:实现优雅停机与进程通信的跨平台解决方案

1. 项目概述&#xff1a;一个信号处理与通信的瑞士军刀最近在GitHub上看到一个挺有意思的项目&#xff0c;mattbaconz/signal。光看名字&#xff0c;你可能会联想到那个知名的加密通讯应用&#xff0c;但点进去你会发现&#xff0c;这是一个完全不同的技术世界。这是一个由开发…...

从田野录音到语法树生成:NotebookLM语言学研究闭环实战(含濒危方言ASR微调参数集·限24小时下载)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM语言学研究辅助 NotebookLM 是 Google 推出的基于 LLM 的研究型笔记工具&#xff0c;专为学术工作者设计&#xff0c;其核心能力在于对用户上传的 PDF、TXT 等文本资料进行深度语义理解与上下…...

NotebookLM生物学研究辅助落地手册(实验室已验证的7个不可公开的Prompt工程模板)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM生物学研究辅助落地手册&#xff08;实验室已验证的7个不可公开的Prompt工程模板&#xff09; NotebookLM 作为 Google 推出的文档感知型 AI 助手&#xff0c;在分子生物学、结构生物学与高通…...

RISC-V PLIC中断控制器详解:从原理到SiFive U54实战配置

1. 平台级中断控制器&#xff08;PLIC&#xff09;是什么&#xff1f;为什么需要它&#xff1f;如果你正在接触基于RISC-V架构的嵌入式系统开发&#xff0c;尤其是像SiFive U54这样的多核处理器&#xff0c;那么“PLIC”这个缩写会频繁地出现在你的视野里。它全称是Platform-Le…...

使用taotaokencli工具一键配置多开发环境下的ai代理

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用 TaoToken CLI 工具一键配置多开发环境下的 AI 代理 基础教程类&#xff0c;介绍如何通过 npx 或全局安装 TaoToken 提供的命令…...

人机协同中的“因为-所以”、“if-then”(如果-那么)

在人机协同中&#xff0c;“因为-所以”和“if-then”&#xff08;如果-那么&#xff09;是两种截然不同但紧密相关的逻辑范式。简单来说&#xff0c;“if-then”是机器的“计算”语言&#xff0c;而“因为-所以”是人类“算计&#xff08;谋算&#xff09;”与因果推理的核心。…...