vb.netcad二開自學筆記6:第一個繪制線段命令

.net編寫繪制直線已完全不同于ActiveX的(VBA)的方式,過程更類似于arx程序,需要通過操作AutoCAD 數據庫添加對象!下面的代碼是在以前代碼基礎上添加了一個新myline命令。

AutoCAD 數據庫結構

myline命令代碼

Imports Autodesk.AutoCAD.ApplicationServices

Imports Autodesk.AutoCAD.DatabaseServices

Imports Autodesk.AutoCAD.EditorInput

Imports Autodesk.AutoCAD.Geometry

Imports Autodesk.AutoCAD.Internal

Imports Autodesk.AutoCAD.Runtime

Public Class WellcomCAD

Implements IExtensionApplication

Dim acapp As AcadApplication

Public Sub Initialize() Implements IExtensionApplication.Initialize

'Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor

'ed.WriteMessage("net程序已經初始化!")

'acapp = Application.AcadApplication

MsgBox("net程序已經初始化!",, "WellcomCAD")

End Sub

Public Sub Terminate() Implements IExtensionApplication.Terminate

Debug.WriteLine("net程序即將銷毀")

End Sub

<CommandMethod("Hello")>

Public Sub Hello()

Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor

ed.WriteMessage("歡迎進入cad世界!")

'acapp = Application.AcadApplication

'acapp.ActiveDocument.Utility.Prompt("prompt")

End Sub

<CommandMethod("MyLine")>

Public Sub MyLine()

Dim db As Database = HostApplicationServices.WorkingDatabase

Dim Pt1 As New Point3d(0, 0, 0)

Dim Pt2 As New Point3d(300, 100, 0)

Dim LinEnt As New Line(Pt1, Pt2)

Using Trans As Transaction = db.TransactionManager.StartTransaction()

Dim Bt As BlockTable = trans.GetObject(db.BlockTableId, OpenMode.ForRead)

Dim Btr As BlockTableRecord = trans.GetObject(Bt.Item(BlockTableRecord.ModelSpace), OpenMode.ForWrite)

Btr.AppendEntity(LinEnt)

Trans.AddNewlyCreatedDBObject(LinEnt, True)

Trans.Commit()

End Using

End Sub

End Class

運行結果

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42738.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42738.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42738.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

YoloV9改進策略:Block改進|輕量實時的重參數結構|最新改進|即插即用(全網首發)

摘要 本文使用重參數的Block替換YoloV9中的RepNBottleneck&#xff0c;GFLOPs從239降到了227&#xff1b;同時&#xff0c;map50從0.989漲到了0.99&#xff08;重參數后的結果&#xff09;。 改進方法簡單&#xff0c;只做簡單的替換就行&#xff0c;即插即用&#xff0c;非常…

使用ndoe實現自動化完成增刪改查接口

使用ndoe實現自動化完成增刪改查接口 最近工作內容比較繁瑣&#xff0c;手里需要開發的項目需求比較多&#xff0c;常常在多個項目之間來回切換&#xff0c;有時候某些分支都不知道自己開發了什么、做了哪些需求&#xff0c; 使用手寫筆記的方式去記錄分支到頭來也是眼花繚亂&a…

vscode調試教程

VSCode調試 VSCode Debuggers VSCode使用launch.json進行細粒度的控制&#xff0c;可以啟動程序或將其附加到復雜的調試場景中 打開Run and Debug視圖Ctrl Shift D 點擊create a launch.json file&#xff0c;選擇C(GDB/LLDB) 會在工作目錄自動創建.vscode/launch.json文…

【MyBatis】MyBatis 理論 40 問(二)

《MyBatis 理論 40 問》包含以下 2 篇文章&#xff1a; MyBatis 理論 40 問&#xff08;一&#xff09;MyBatis 理論 40 問&#xff08;二&#xff09; MyBatis 理論 40 問&#xff08;二&#xff09; 21.如何獲取生成的主鍵&#xff1f;22.當實體類中的屬性名和表中的字段名不…

influxQL基本語法及常用的聚合函數

InfluxQL&#xff08;Influx Query Language&#xff09;是與InfluxDB緊密集成的一種SQL風格的語言&#xff0c;專為處理時間序列數據而設計。其基本語法結構清晰&#xff0c;方便開發者理解和實現。以下是對InfluxQL基本語法及常用聚合函數的簡單介紹&#xff1a; 目錄 一、…

Docker Dockerfile:構建與優化

Docker Dockerfile&#xff1a;構建與優化 簡介 Docker 是一種廣泛使用的容器化技術&#xff0c;它允許開發人員將應用程序及其依賴環境打包到一個可移植的容器中。Dockerfile 是 Docker 中用于自動化容器鏡像構建的腳本文件。本文將詳細介紹 Dockerfile 的基本結構、指令使用…

【Python】已解決:(MongoDB安裝報錯)‘mongo’ 不是內部或外部命令,也不是可運行的程序

文章目錄 一、分析問題背景二、可能出錯的原因三、錯誤代碼示例四、正確代碼示例及解決方案五、注意事項 已解決&#xff1a;&#xff08;MongoDB安裝報錯&#xff09;‘mongo’ 不是內部或外部命令,也不是可運行的程序 一、分析問題背景 在安裝和配置MongoDB時&#xff0c;有…

怎樣在 PostgreSQL 中優化對 UUID 數據類型的索引和查詢?

文章目錄 一、UUID 數據類型概述二、UUID 索引和查詢的性能問題三、優化方案&#xff08;一&#xff09;選擇合適的索引類型&#xff08;二&#xff09;壓縮 UUID&#xff08;三&#xff09;拆分 UUID&#xff08;四&#xff09;使用覆蓋索引&#xff08;五&#xff09;優化查詢…

一二三應用開發平臺應用開發示例(6)——代碼生成、權限配置、運行效果查看

生成代碼 完成配置工作&#xff0c;接下來就是見證奇跡的時刻~ 返回到實體列表&#xff0c;選中“文件夾”記錄&#xff0c;點擊“生成代碼”按鈕&#xff0c;提示成功后&#xff0c;在項目的output目錄下輸出了平臺基于配置模板產生的各層代碼&#xff0c;在原有后端的基礎上…

Pyserial設置緩沖區大小失敗

文章目錄 問題描述原因分析解決方案 問題描述 使用set_buffer_size()設置緩沖區大小后&#xff0c;buffer size仍為默認的4096 import time import serial ser serial.Serial(baudrate9600, timeout0.5) ser.port COM1 ser.set_buffer_size(rx_size8192) ser.open() while …

windows上部署python3.11

hello&#xff0c;大家好&#xff0c;我是一名測試開發工程師&#xff0c;至今已在自動化測試領域深耕9個年頭&#xff0c;現已將本人實戰多年的多終端自動化測試框架【wyTest】開源啦&#xff0c;在接下來的一個月里&#xff0c;我將免費指導大家使用wyTest&#xff0c;請大家…

歐拉函數.

性質1&#xff1a;質數n的歐拉函數為n-1. 性質2&#xff1a;如果p&#xff0c;q都是質數&#xff0c;那么? ( p ? q ) ? ( p ) ? ? ( q ) ( p ? 1 ) ? ( q ? 1 ) 證明&#xff1a;p&#xff0c;2p....q*p都不與q*p互質&#xff0c;q同理&#xff0c;所以總的不互質個…

JavaEE初階-網絡編程

文章目錄 前言一、UDP與TCP1.1 有連接與無連接1.2 全雙工1.3 可靠傳輸與不可靠傳輸1.4 面向子節流與面向數據報 二、UDP回顯服務器及客戶端編寫三、UDP字典服務器四、TCP回顯服務器及客戶端編寫五、數據序列化的方式5.1 基于行文本的方式傳輸5.2 基于XML的格式5.3 基于json5.4 …

STM32芯片系列與產品后綴解讀

一. 產品系列 STM32單片機是一系列基于ARM Cortex-M內核的32位微控制器&#xff0c;廣泛應用于嵌入式系統中。 STM32系列由STMicroelectronics&#xff08;意法半導體&#xff09;開發和生產&#xff0c;并憑借其靈活的設計、豐富的外設和強大的生態系統&#xff0c;成為嵌入式…

咬文嚼字:詞元是當今生成式人工智能失敗的一個重要原因

生成式人工智能模型處理文本的方式與人類不同。了解它們基于"標記"的內部環境可能有助于解釋它們的一些奇怪行為和頑固的局限性。從 Gemma 這樣的小型設備上模型到 OpenAI 業界領先的 GPT-4o 模型&#xff0c;大多數模型都建立在一種稱為轉換器的架構上。由于轉換器在…

Ubuntu24.04清理常見跟蹤軟件tracker

盡量一天一更&#xff0c;不刷視頻&#xff0c;好好生活 打開系統監視器&#xff0c;發現開機有個tracker-miner-fs-fs3的跟蹤程序&#xff0c;而且上傳了10kb的數據。 搜索知&#xff0c;該程序會搜集應用和文件的信息。 刪除tracker 顯示帶tracker的apt程序 sudo apt lis…

ThreadLocal的內存泄漏

什么是內存泄漏 程序在申請內存后&#xff0c;無法釋放已申請的內存空間在定義變量時&#xff0c;需要一段內存空間來存儲數據信息&#xff0c;而這段內存如果一直不被釋放&#xff0c;那么就會導致內存被占用光&#xff0c;而被占用的這個對象&#xff0c;一直不能被回收掉&am…

書生·浦語2.5開源,推理能力再創新標桿

導讀 2024 年 7 月 3 日&#xff0c;上海人工智能實驗室與商湯科技聯合香港中文大學和復旦大學正式發布新一代大語言模型書?浦語2.5&#xff08;InternLM2.5&#xff09;。相比上一代模型&#xff0c;InternLM2.5 有三項突出亮點&#xff1a; 推理能力大幅提升&#xff0c;在…

VUE與React的生命周期對比

前言 在前端開發中&#xff0c;Vue和React是兩個非常流行的JavaScript框架&#xff0c;它們各自有著獨特的生命周期機制。了解并熟練掌握這些生命周期&#xff0c;對于開發高效、可維護的前端應用至關重要。本文將詳細對比Vue和React的生命周期&#xff0c;幫助開發者更好地理…

Python | Leetcode Python題解之第222題完全二叉樹的節點個數

題目&#xff1a; 題解&#xff1a; # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def countNodes(self,…