首页
关于
文章打赏记录
Search
1
项目一:Revit电缆自动布置
50 阅读
2
如何使用 LoRA 微调 DeepSeek R1
11 阅读
3
revit二次开发入门
9 阅读
4
Dynamo 连缀属性
4 阅读
5
第十四章结课考试
4 阅读
linux
AI
Dynamo
Python
C#编程技术基础
C#实战项目
随笔
登录
Search
标签搜索
CSharp
基础知识
Dynamo
数据应用
AI
BIM管理
TomHanck4
累计撰写
35
篇文章
累计收到
6
条评论
首页
栏目
linux
AI
Dynamo
Python
C#编程技术基础
C#实战项目
随笔
页面
关于
文章打赏记录
搜索到
35
篇与
的结果
2024-05-22
revit二次开发入门
安装必要的工具:安装Revit和Visual Studio。下载并安装Revit API SDK(通常包含在Revit的安装文件中)。创建一个新的Revit插件项目:打开Visual Studio,创建一个新的C#类库项目。添加对RevitAPI.dll和RevitAPIUI.dll的引用(这些文件通常位于Revit安装目录下)。编写简单的插件:创建一个实现 IExternalCommand 接口的类,并实现 Execute 方法。这个方法是Revit调用你的插件时执行的入口点。using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Autodesk.Revit.UI; [Transaction(TransactionMode.Manual)] public class MyFirstCommand : IExternalCommand { public Result Execute( ExternalCommandData commandData, ref string message, ElementSet elements) { TaskDialog.Show("Hello", "Hello Revit!"); return Result.Succeeded; } }编译并部署插件:编译项目,生成的DLL文件就是你的插件。在Revit安装目录下创建一个名为 Addins 的文件夹,并在其中创建一个 .addin 文件,描述你的插件。<?xml version="1.0" encoding="utf-8" standalone="no"?> <RevitAddIns> <AddIn Type="Command"> <Name>MyFirstCommand</Name> <Assembly>C:\Path\To\Your\DLL\YourPlugin.dll</Assembly> <AddInId>12345678-1234-1234-1234-123456789012</AddInId> <VendorId>VENDOR_ID</VendorId> <VendorDescription>Your company description</VendorDescription> </AddIn> </RevitAddIns>运行插件:打开Revit,插件会在对应的菜单或工具栏中出现,点击它就可以运行你编写的代码。
2024年05月22日
9 阅读
0 评论
0 点赞
2023-09-21
BIM 工作组织
一、项目 BIM 团队组织架构根据项目BIM技术应用目标及团队整体能力,项目BIM团队可分以下两种模式:BIM型BIM团队和项目型BIM团队。1、BIM型BIM团队在实施过程中,项目建立专职BIM团队,负责建模与模型维护,在应用的过 程中发现问题,由具有丰富现场施工经验的土建、机电、精装修、幕墙、景观等专业成员解决问题,再由BIM团队在模型中执行,形成相关的文件与成果辅助现 场施工。这种模式的实施流程路线长,项目人员、设备等投入比较大,只能在BIM 推广阶段、项目初期不具备全员应用BIM能力的情况下应用,最终将逐步由项目型BIM型团队来取代。其组织架构如下图所示。 2、项目型BIM团队项目实施过程中不组建专门的BIM实施团队,将BIM职能融入到每个部门的管理流程中,项目全员或者是项目团队中成员一人多职,转变原有工作模式,各系统员工,直接作为BIM执行落实人员,双重岗位,对项目BIM需求把握更精准,最终实现项目BIM工作的全员参与。其组织架构如下图所示。
2023年09月21日
0 阅读
0 评论
0 点赞
2022-06-21
项目一:Revit电缆自动布置
项目一:Revit电缆自动布置程序开发的流程需求认识》设计规划》分析讨论》编写程序》测试检验需求认识(Requirement)。了解程序所要解决的问题是什么,有哪些 输入 及 输出 等。 设计规划(Design and Plan)。根据需求选择适合的数据结构,并以任何的表示方式 写一个算法 以解决问题。 分析讨论(Analysis and Discussion)。思考其他可能合适的算法及数据结构,再选择适当的目标。 编写程序(Coding)。把分析的结论写成初步的 程序代码 。 测试检验(Verification)。最后必须确认程序的输出是否符合需求,这个步骤细步地执行程序并进行许多的 相关测试 。分解实现步骤获取起点与终点间路径对桥架中心线进行坐标变换利用变换后的直线绘制线管延伸平行线管、使用弯头连接非平行线管Revit对应.NET Framework版本Revit版本.NET Framework版本Revit2016.NET Framework4.5Revit2017.NET Framework4.5.2Revit2018.NET Framework4.5.2Revit2019.NET Framework4.7Revit2020.NET Framework4.7Revit2021.NET Framework4.8Revit2022.NET Framework4.8添加引用添加引用RevitAPI.dll C:\Program Files\Autodesk\Revit 2019\RevitAPI.dllRevitAPIUI.dll C:\Program Files\Autodesk\Revit 2019\RevitAPIUI.dll 设置引用属性: 复制到本地—>False
2022年06月21日
50 阅读
0 评论
0 点赞
2022-06-20
第十四章结课考试
一、选择题(每小题2分,共20分) 1、C#是一种面向( )的语言。 A.机器 B.过程 C.对象 D.事物 2、在C#中,定义派生类时,指定其基类应使用的语句是( )。 A.Inherits B.: C.Class D.Overrides 3、类的以下特性中,可以用于方便地重用己有的代码和数据的是( )。 A.多态 B.封装 C.继承 D.抽象 4、在Array类中,可以对一维数组中的元素进行排序的方法是( )。 A.Sort() B.Clear() C.Copy() D.int.Parse() 5、将变量从字符串类型转换为数值类型可以使用的类型转换方法是( )。 A.Str() B.Cchar() C.CStr() D.int.Parse() 6、在C#中定义接口时,使用的关键字是( )。 A.interface B.: C.class D.overrides 7、以下说法正确的是( )。 A.接口可以实例化 B.类只能实现一个接口 C.接口的成员都必须是未实现的 D.接口的成员前面可以加访问修饰符 8、下列关于抽象类的说法错误的是( )。 A.抽象类可以实例化 B.抽象类可以包含抽象方法 C.抽象类可以包含抽象属性 D.抽象类可以引用派生类的实例 9.下列关于重载的说法,错误的是( )。 A.方法可以通过指定不同的参数个数重载 B.方法可以通过指定不同的参数类型重载 C.方法可以通过指定不同的参数传递方式重载 D.方法可以通过指定不同的返回值类型重载 10.关于虚方法实现多态,下列说法错误的是( )。 A.定义虚方法使用关键字virtual B.关键字virtual可以与override一起使用 C.虚方法是实现多态的一种应用形式 D.派生类是实现多态的一种应用形式二、简答题(每小题5分,共20分)二、简答题(每小题5分,共20分) l、简述private、protected、public修饰符的作用 答: 2、构造方法的特征和作用 答: 3、简述接口和抽象类的区别。 答: 4、什么是序列化和反序列化? 答: 三、编码题(每小题20分,共60分)1、编写一个C#应用程序,该程序包括3个类:Monkey类、People类和主类Program类(20分) 要求: (1)Monkey类中有个构造方法:Monkey(String name),并且有个public void Speak()方法,在speak方法中输出“咿咿呀呀......”的信息。 (2)People类是Monkey类的子类,在People类调用Monkey的构造方法,重写方法Speak(),在Speak方法中输出“小样的,不错嘛!会说话了!”的信息。 (3)在People类中新增方法void Think(),在Think方法中输出“别说话!认真思考!”的信息。 (4)在主类Program的Main方法中创建Monkey与People类的对象类测试这2个类的功能。 2、接口和抽象类(20) 汽车租赁公司,出租汽车种类有客车、货车和皮卡三种,每辆汽车除了具有编号、名称、租金三个基本属性之外,客车有载客量,货车有载货量,皮卡则具有载客量和载货量。 实现思路: l)需要定义两个接口,一个抽象类car,三个类:PassengerCar、Truck、Pickup.. 2)抽象类汽车Car:属性有:编号No,名称:Name,租金Rent 3)接口A:定义载货量方法ZaiHuoMethod() 4)接口B:定义载客量方法ZaiKeMethod() 5)子类客车PassengerCar继承汽车租赁公司Car,特有属性:载客量ZaiKe。继承接口B. 6)子类货车Truck继承汽车租赁公司Car,特有属性:载客量ZaiHuo。继承接口A. 7)子类货车Pickup继承汽车租赁公司Car,特有属性:载客量ZaiKe。载客量ZaiHuo.继承接口A和B. 8)在主函数中分别实例化三种汽车,并输出汽车的相关信息。 3、编一个程序,定义类Student和它的成员(私有字段、属性和方法)(学号,姓名,年龄、成绩、和输出个人所有信息的方法),用类Student生成三个对象s1,s2,s3,给对象s1,s2,s3的成员赋值后,将对象添加到泛型List<Student>中,通过foreach循环遍历输出对象的所有信息。(20分)
2022年06月20日
4 阅读
0 评论
1 点赞
2022-06-18
第十三章综合项目--模拟打斗程序
第十三章综合项目--模拟打斗程序初级项目1.任务编号:2.任务名称:模拟一个打斗程序3.任务所属课程名称:类的定义、常用类、封装4.任务难度:C-简单5.任务描述:1)编写一个控制台程序,实现一个简单的战斗程序。 2)首先定义一个基类英雄(Hero) 属性:(名字Name、血量HP、蓝量MP,基础伤害下限BaseHurtLow,基础伤害上限BaseHurtHigh,基础防御下限BaseDefenseLow,基础防御上限Base DefenseHigh) 构造方法:默认属性:血量1000,蓝量800,基础伤害下限100,基础伤害上限300,基础防御下限0,基础防御上限100 方法:基础攻击Attack())基础防御Defense() 攻击伤害=攻击下限到攻击上限的一个随机值,攻击伤害应减去被攻击者的防御值 3)定义一个打斗(Battle)类,用于控制交战。 类中包涵有一个方法FightGo(Hero a,Hero b),主要作用是:a先开始攻击b一下,然后b攻击a一下,互相来回攻击直至某个对象生命值为0为止,每次攻击对方可以选择 基础攻击还是技能攻击,扣除的生命值是在自己Attacklow和AttackHigh之间取一个随机值。方法中显示每次来回打斗的信息,包括对方英雄名字,扣除的生命值及剩余 的生命值等。 在main方法中定义2个英雄Hero对象,执行FightGo方法,来完成一次战斗过程。6.提示 产生随机数可以参考Random类, 攻击进度控制System.Threading.Thread.Sleep(1000);/休眠1秒参考代码-初级先定义一个Hero类隐藏内容,请前往内页查看详情再定义一个Battle类隐藏内容,请前往内页查看详情主程序定义两个Hero对象隐藏内容,请前往内页查看详情中级项目1.任务编号:2.任务名称:模拟一个打斗程序3.任务所属课程名称:类的定义、常用类、封装、继承、多态4.任务难度:B-适中5.任务描述:1)编写一个控制台程序,实现一个简单的战斗程序。 2)首先定义一个基类英雄(Hero) 属性:(名字Name、血量HP、蓝量MP,基础伤害下限BaseHurtLow,基础伤害上限BaseHurtHigh,基础防御下限BaseDefenseLow,基础防御上限BaseDefenseHigh) 构造方法:默认属性:血量1000,蓝量800,基础伤害下限100,基础伤害上限300,基础防御下限0,基础防御上限100 也可以用户自定义属性: 方法:基础攻击Attack() 基础防御Defense() 攻击伤害=攻击下限到攻击上限的一个随机值 3)再定义三个职业继承英雄类 战士(Soldier): 属性:(技能SkillName,技能伤害下限SkillHurtLow,技能伤害上限SkillHurtHigh,技能消耗蓝量SkillMP) 构造方法:战士构造方法中基础血量+300,蓝量-200,防御+50 方法:重写父类攻击方法Attack() 用户可选择发动物理攻击或技能攻击 物理攻击:攻击伤害=攻击者基础攻击值-被攻击者基础防御 技能攻击:攻击伤害=攻击者技能攻击值-被攻击者基础防御 注意:技能伤害消耗相应蓝值,蓝值不够不能发动技能攻击,只能发动物理攻击 射手(Shooter): 属性:(技能SkillName,技能伤害下限SkillHurtLow,技能伤害上限SkillHurtHigh,技能消耗蓝量SkillMP) 构造方法:射手构造方法中基础血量-300,攻击+120,防御-20 方法:技能伤害SkillAttack() 刺客(Assassin): 属性:(技能SkillName,技能伤害下限SkillHurtLow,技能伤害上限SkillHurtHigh,技能消耗蓝量SkillMP) 构造方法:刺客构造方法中基础伤害+120,基础血量-100,防御-20 方法:技能伤害SkillAttack() 同时定义构造函数用于初始化这些信息。参考代码-中级先定义一个Hero类,添加技能相关的属性,在Attack的方法中添加技能攻击隐藏内容,请前往内页查看详情添加3个职业类隐藏内容,请前往内页查看详情添加一个Battle类隐藏内容,请前往内页查看详情主程序添加两个职业类及技能名隐藏内容,请前往内页查看详情
2022年06月18日
1 阅读
0 评论
0 点赞
1
...
3
4
5
...
7