自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 PostGIS 测试 - 点(POINT)

1.建表 创建包含空间数据的表mytable。CREATE TABLE pointtable ( id SERIAL PRIMARY KEY, name VARCHAR(128), geom GEOMETRY(Point, 26910));2.添加GIST索引CREATE INDEX pointtable_gix ON pointtable USING ...

2019-03-27 17:47:22 3293

原创 PostGIS入门

PostGIS是对象关系型数据库PostgreSQL的一个插件,PostGIS提供如下空间信息服务:空间对象、空间索引、空间操作函数和空间操作符。同时,PostGIS遵循OpenGIS的规范。1.安装 PostGIS官方网站下载地址:https://winnie.postgis.net/download/windows/pg10/buildbot/,下载后安装。 ...

2019-03-27 15:13:49 974

原创 Revit开发 - 创建梁(Beam)

本文演示Revit中梁的创建。 实例代码:using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.DB.Structure;using Autodesk.Revit.UI;namespace RevitAddin4{ [TransactionAttribute(T...

2019-03-26 17:43:52 3235 2

原创 Revit开发 - 创建屋顶(ExtrusionRoof)

本文演示Revit中创建屋顶。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;namespace RevitAddin4{ [TransactionAttribute(TransactionMode.Manual)] public class RevitA...

2019-03-26 15:56:45 689

原创 Revit开发 - 创建风管(Duct)

本文演示Revit中创建风管。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.DB.Mechanical;using Autodesk.Revit.UI;namespace RevitAddin4{ [TransactionAttribute(Transacti...

2019-03-26 15:19:54 1284

原创 Revit开发 - 尺寸标注(Dimension)

本文演示Revit中创建尺寸标注。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;using System;namespace RevitAddin4{ [TransactionAtt...

2019-03-26 14:48:37 3667

原创 Revit开发 - 线(DetailCurve)

本文演示Revit中创建线。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;namespace RevitAddin4{ [TransactionAttribute(TransactionMode.Manual)] public class RevitAd...

2019-03-26 12:58:33 1622

原创 Revit开发 - 创建幕墙系统(CurtainSystem)

本文演示Revit中创建幕墙系统。1.用Revit绘制模型2.实例代码using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;namespace RevitAddin4{ [Transact...

2019-03-26 11:23:45 1540

原创 Revit开发 - 风管连接器(Connector)

本文演示获取风管连接器的属性信息。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.DB.Mechanical;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;using System.Windows.F...

2019-03-26 10:41:51 1062

原创 Revit开发 - 面积边界及面积(Area & AreaBoundaryLine)

本文演示创建面积边界及面积。 using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;namespace RevitAddin4{ [TransactionAttribute(TransactionMode.Manual)] public class ...

2019-03-26 09:20:09 2259 2

原创 Revit开发 - 获取墙默认的类型

本文演示:获取墙默认的类型,并将其重命名为“自定义类型”。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;namespace RevitAddin4{ [TransactionAttribute(TransactionMode.Manual)] p...

2019-03-25 14:31:57 1036 1

原创 Revit开发 -导出图片(ExportImage)

本文演示:将revit文件导出为图片。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;namespace RevitAddin4{ [TransactionAttribute(TransactionMode.Manual)] public clas...

2019-03-25 13:58:49 3148 1

原创 Revit开发 - 族文档(Document)

本文演示:选择一个Element,如果是FamilyInstance,则打开族文档,打印文档标题,否则打印错误信息。代码实例:using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;namespace...

2019-03-25 11:05:23 1589

原创 Revit开发 - 单位信息(DisplayUnitSystem)

本文演示如何获取Revit中的单位信息。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;namespace RevitAddin4{ [TransactionAttribute(Tran...

2019-03-25 10:22:40 543

原创 Revit开发 - 删除构件(Delete)

本文演示Revit中删除构件。1.用Revit绘制模型 2.实例代码using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;namespace RevitAddin4{ [Tr...

2019-03-25 09:56:31 2197

原创 Revit开发 - 显示(ShowElements)

代码实例:using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using System.Collections.Generic;namespace RevitAddin4{ [TransactionAttribute(TransactionMode.Manu...

2019-03-22 16:55:40 743

原创 Revit开发 - 视图(UIView)

本文演示视图相关的操作。1.用Revit绘制模型2.获取视图IDusing Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using System.Collections.Generic;using System.Windows.Forms;namespa...

2019-03-22 16:23:15 1617

原创 Revit开发 - 选择实体(PickObject)

本文演示如何选择Revit文件中的线和面。1.用Revit绘制模型2.选择面 示例代码:using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;using System.Windows.F...

2019-03-22 14:55:03 2242

原创 Revit开发 - 几何信息(GeometryElement)的获取

本文演示如何获取Revit文件中墙和柱各个面的面积。1.用Revit绘制模型 2.获取墙各个面的面积using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using System.Windows.Forms;namespace RevitAddin4...

2019-03-22 14:07:08 5368

原创 Revit开发 - 属性(Parameter)的获取和设置

本文演示如何获取和设置Revit文件中墙的属性值。1.用Revit绘制模型 2.内部属性的枚举 本文涉及到的枚举类型如下:public enum BuiltInParameter{ WALL_TOP_OFFSET, //顶部偏移 WALL_BASE_OFFSET, //底部偏移 WALL_BASE_CONS...

2019-03-22 10:52:36 5442 1

原创 Revi开发 - 构件过滤器(FilteredElementCollector)

本文演示如何获取Revit文件中的墙类型。1.用Revit绘制模型 该模型中包含墙和门。2.获取墙类型2.1OfCategory(BuiltInCategory.OST_Walls)using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;usin...

2019-03-21 19:34:01 731

原创 Revit开发 - 墙的移动,复制,旋转,镜像

本文演示如何通过代码,实现Revit中墙的移动,复制,旋转,镜像。1.用Revit绘制墙2.移动 ElementTransformUtils.MoveElement()实现移动功能。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Au...

2019-03-21 17:31:58 2970

原创 Directory的创建,删除,移动

1.目录var path = "E://April";2.创建目录if (!Directory.Exists(path)){ Directory.CreateDirectory(path);}3.删除目录if (Directory.Exists(path)){ Directory.Delete(path);} 当path为空时,删除成功。...

2019-03-20 14:40:00 1859

原创 File的创建,删除,复制,移动

1.路径var path = Path.Combine(Environment.CurrentDirectory,"April.txt"); 其中,Environment.CurrentDirectory 取得当前工作目录的完整路径。Path.Combine连接两个路径,该语句的执行结果为:"D:\sqlTest\AliveMessage\bin\Debug\netcoreapp2...

2019-03-20 11:33:05 300

原创 C#中的Path类

代码实例:using System;using System.IO;namespace CurveTest{ class Program { static void Main(string[] args) { string path = Path.Combine("D:\\work", "April.tx...

2019-03-20 10:38:00 1043

原创 Path.Combine(string path1, string path2 )的用法

将两个路径合成一个路径,自动处理路径分隔符的问题。函数声明如下:public static string Combine ( string path1, string path2 ) 常规使用方法。string path = Path.Combine("D:\\work", "April.txt"); //"D:\work\April.txt" 如果其...

2019-03-20 09:54:59 20677 1

原创 gRPC使用SSL实现加密通讯

grpc默认实现了基于证书的SSL加密通讯,使用中需要注意以下事项。 在Windows上开发,首先安装 OpenSSL,将OpenSSL.exe的路径添加到环境变量中。 通过以下样例脚本生成通讯中所需要的服务端和客户端证书,其中需要特别注意的是,Generate server signing reques中的CN=KEKYK字段,如果是本机测试,使用本机名称。如果是真实环境,使用...

2019-03-19 10:24:12 6980 2

原创 OpenSSL 生成服务器及客户端证书

1.下载OpenSSL windows版的下载地址为:http://www.slproweb.com/products/Win32OpenSSL.html2.安装及配置 安装OpenSSL 。 将OpenSSL.exe所在路径添加到环境变量中。 修改openssl.cfg文件中的dir属性值 ,用于存放生成的证书文件。3.随机数文件(.rand)...

2019-03-19 09:48:54 7589 3

原创 c++多线程(十 三) - std::promise

std::promise 是类模板 ,可以在某个线程中给它赋值,然后在其他线程中取值。#include<iostream>#include<future>using namespace std;void myThread(std::promise<int> &temp, int num){ cout << "Thread s...

2019-03-17 18:11:00 394

原创 c++多线程(十 二) - std::packaged_task

packaged_task 是类模板,它的模板参数是各种可调用对象。packaged_task把可调用对象包装起来,作为线程入口函数。#include<iostream>#include<future>using namespace std;int myThread(int num){ cout << "Thread start id =...

2019-03-17 16:51:45 533

原创 c++多线程(十 一) - std::launch

launch是枚举类型,用于启动异步任务时,传递给函数async的参数,它的定义如下:enum class launch { async = 0x1, deferred = 0x2};1. launch::async launch::async 表示在调用async函数的时候就开始创建新线程。#include<iostream>#include&l...

2019-03-17 12:51:06 2950

原创 c++多线程(十) - std::async & std::future

async 和 future提供了一种访问异步操作结果的机制。 async 是函数模板,启动异步任务,返回future对象。启动异步任务的含义是:自动创建一个线程,执行对应的入口函数。 future是类模板,future对象里面含有线程执行的结果,可以通过调用成员函数get()来获取结果。代码示例#include&lt;iostream&gt;#includ...

2019-03-17 10:58:38 516

原创 c++多线程(九) - condition_variable & wait() & notify_one()

条件变量(condition_variable)是一个和条件相关的类,通常和互斥量配合使用。 本文主要介绍条件变量的两个函数wait() 和notify_one()。1.wait()和notify_one() wait() 阻塞程序,等待条件的达成。notify_one() 把被阻塞在wait()的线程唤醒。 在库函数中,函数wait有两个重载。vo...

2019-03-16 19:31:00 3724 1

原创 c++多线程(八) - 双重检查

首先分析一下outMsgProc()这个函数。 它先给互斥量myMutex加锁,然后在判断myList是否为空。myList为空时,需要释放锁,此时锁的添加和释放需要无意义的消耗资源。bool outMsgProc(int &amp;num){ std::unique_lock&lt;std::mutex&gt; guard(myMutex); if (!myList.em...

2019-03-16 11:52:23 763

原创 MySQL登录和退出

1.登录# mysql -u root -p 0000 用户名为root 密码为00002.退出 MySQL三种退出方式分别如下:mysql > exitmysql > quitmysql > \q

2019-03-14 10:27:32 276

原创 GDI简单绘图(二)- 绘制验证码

本文主要演示GDI绘制数字验证码。using System;using System.Drawing;using System.Windows.Forms;namespace GDIwork{ public partial class Form1 : Form { public Form1() { In...

2019-03-07 11:03:17 421

原创 GDI简单绘图(一)

GDI是Graphics Device Interface 的简称,即图形设备接口。它提供了图形图像处理功能。主要有Graphics类、Bitmap类、Brush类、Font类、Icon类、Image类、Pen类、Color类等。 想要绘制图形,首先需要画板和画笔。//创建GDI对象Graphics graphics = this.CreateGraphics();//...

2019-03-07 10:34:18 5484

原创 五个级别的工程师

本文是学习吴军的课程《谷歌方法论》的笔记。 参照朗道对物理学家的评价体系,吴军总结了一个对工程师的评价体系。该体系分五个级别,第一级最高,第五级最低。 第五级:能独立解决问题,完成工程工作。 能熟练应用知识和技能解决问题,独立完成所分配的工作,就是一个合格的五级工程师了。 第四级:能指导和带领其他人一同完成更有影响力的工作。 有领导能力和...

2019-03-06 18:05:15 2548

原创 Socket编程(五)- 传送文件

本文介绍客户端和服务器之间传送文件的方法。 首先,我们需要明确:网络上传送的是二进制流。当接收方收到发送方传过来的数据时,需要判断收到的是文本还是文件。类型不同,处理方式也不同。收到文本,则显示在对话框中。收到文件,则弹出保存按钮,保存文件。 可以在二进制流中的第一位设置标记位:0表示文本,1表示文件(未来还可以扩展,2表示震动,3表示语音等等)。public e...

2019-03-06 15:59:20 441

原创 Socket编程(四)- 多人聊天

为了实现多人聊天,服务器需要存储远程客户端的IP地址和Socket。 用Dictionary存储,IP地址作为Key,Socket作为Value。方便用IP地址索引Socket。 Dictionary&lt;string, Socket&gt; clientDic = new Dictionary&lt;string, Socket&gt;(); 当服务器收到客户...

2019-03-06 11:52:29 464

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除