自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

niuge8905的博客

还有什么比it技术更有趣???

  • 博客(236)
  • 资源 (14)
  • 论坛 (1)
  • 收藏
  • 关注

原创 vue——element ui表格行拖拽

网上搜的例子都不能正确排序,但是序号会变化。经过尝试发现了最终的解决办法。 <template> <div> <el-table :data="tableData" border row-key="id" align="left" > <el-table-column v-for="(item, index) in col" :key="`col_$

2021-04-27 11:29:33 20

原创 vue的默认的三种eslint模式对应的.prettierrc文件

关键点:eslint要与格式化文档相匹配1、安装vs code的插件eslintVetur(vs code的总体设置比较方便)Prettier(单个项目使用比较方便)eslint用于检查代码,Vetur和Prettier用于格式化文档。在格式化文档的时候,选择Prettier插件,在项目根目录创建.prettierrc文件。2、VUE的三种eslint模式对应的.prettierrc文件设置方法首先看prettier的官网的默认格式(https://github.com/pret

2021-04-25 12:57:24 56

原创 ArcGIS API for JavaScript——加载多源数据(BIM模型、白模、倾斜摄影、点云数据)

1、多元数据资源案例地址1、倾斜摄影数据https://developers.arcgis.com/javascript/latest/sample-code/layers-scenelayer-texture/2、BIM数据https://developers.arcgis.com/javascript/latest/showcase/building-viewer/3、白模数据https://developers.arcgis.com/javascript/latest/sample-c..

2021-02-16 21:22:46 246 1

原创 ArcGIS API for JavaScript——使用webscene的幻灯片

1、使用幻灯片的案例https://developers.arcgis.com/javascript/latest/sample-code/sandbox/index.html?sample=webscene-slides2、参照以上案例,自己写个案例上面的案例略微复杂,所以自己写个简单的vue组件的案例。只有webscene才有幻灯片,遍历webscene的presentation.slides,创建幻灯片。<template> <div id="viewD

2021-02-15 22:41:09 62

原创 ArcGIS API for JavaScript——切换basemap

1、basemap的资源(主要是官方资源)https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap2、利用basemapgallery切换底图https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapGallery.html3、自己写一个切换底图的方法<templ

2021-02-15 22:34:35 91

原创 ArcGIS API for JavaScript——vue环境部署

1、获取开发者的api-key经过各种尝试,发现在官网申请账号没成功,只能曲线救国,用google账号登陆,并获取api-key。这个api-key也是一阵好找,按照提示,进入对应网页老是崩溃,最后在下面一个角落里找到。点击“Get your API key”获取。2、部署开发环境我比较喜欢用vue开发,用vue开发的环境部署:https://developers.arcgis.com/javascript/latest/es-modules/2.1 安装@arcgis/c.

2021-02-15 22:22:38 111

原创 WPF枚举、布尔值绑定combox的ItemsSource

1、枚举绑定combox的ItemsSourceItemsSource绑定的是个集合值,要想枚举绑定ItemsSource,首先应该想到的是把枚举值变成集合。方法一:使用资源里的ObjectDataProvider如以下枚举 public enum PeopleEnum { 中国人, 美国人, 英国人, 俄罗斯人 }前端绑定:<Window x:Class="ComboxT

2021-01-15 09:57:21 99 1

原创 游戏引擎Unity3D与BIM的结合

Unity版本:2019.4.16f1c1UnityGLTF项目地址:https://github.com/KhronosGroup/UnityGLTF1、首先需要在github上找到UnityGLTF项目,这个项目可以加载gltf。2、然后将rvt或者其他BIM模型转化成gltf文件(核心)。3、改造UnityGLTF项目,能够加载第二步导出来的bim模型。最终效果如下图:...

2020-12-24 09:42:22 743 1

原创 Revit二次开发——不开启Dynamo使用Dynamo的类

软件环境:Revit2018 Dynamo1.2(其他待测试)1、引用的dll2、初始化Dynamo环境(这个必须在调用Dynamo类之前执行)开启Dynamo但是禁止弹出Dynamo对话框(参考链接:https://blog.csdn.net/weixin_44153630/article/details/108013243)示例代码:[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.Transact

2020-11-23 10:23:46 481 8

原创 C#使用属性、反射减少代码耦合

最近有个需求,需要经常动态添加数据,但是添加数据的那个类很大,而且有两个人同时修改。为了减少冲突,我就把动态添加数据的那部分提取出去,并且想到使用属性和反射减少耦合。结果就是:我在数据类里添加一个方法,就动态添加一个字典数据,不用去修改其他地方的代码。属性类:[AttributeUsage(AttributeTargets.Method)] class ExportAttribute:System.Attribute { private string key;

2020-11-20 09:41:19 59

原创 sqlite资源、安装、及应用示例

1 sqlite资源sqlite资源下载页面:https://www.sqlite.org/download.html下载以下两个文件即可2 sqlite安装解压sqlite到相应位置,然后把里面的这几个文件复制到相应文件夹,并修改坏境变量的Path,增加指向这个文件夹的路径。3 sqlite教程sqlite菜鸟教程:https://www.runoob.com/sqlite/sqlite-tutorial.html4 sqlite查看程序navicat for sq

2020-11-20 09:31:51 22

原创 webgl的shader系列(7)——贴图和法线贴图

纹理映射需要顶点着色器和片元着色器的结合;首先在顶点着色器中把uv坐标传到片元着色器中,然后在片元着色器中根据每个片元的纹理坐标从纹理图像中抽取纹理的颜色。 const VSHADER=` varying vec2 v_uv; void main(){ gl_Position = projectionMatrix * modelViewMatrix * vec4( po

2020-10-17 16:26:24 111

原创 webgl的shader系列(6)——phong光照模型和blinphong光照模型

比较好的一篇理解phong光照模型的文章const VSHADER=` varying vec3 v_Normal; varying vec3 v_position; void main(){ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

2020-10-11 16:50:43 342

原创 webglshader系列(5)——半兰伯特Half Lambert光照模型

只需要在上一节的基础上加上一个半兰伯特计算系数float hLambert=nDotL*0.5+0.5;总体的着色器代码:const VSHADER=` varying vec3 v_Normal; void main(){ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); //计算变换后的法向量并归一化

2020-10-08 20:31:39 49

原创 webgl的shader系列(4)——(利用Three.js)顶点着色器与片元着色器中计算的区别

首先看一下光照颜色在顶点着色器中的效果:1、颜色计算放在顶点着色器中const VSHADER=` uniform vec3 u_LightColor; uniform vec3 u_LightDirction; uniform vec3 u_AmbientLight; uniform vec3 u_Color; varying vec4 v_Color; void main(){

2020-10-08 19:46:59 191

原创 webgl的shader系列(3)——mvp矩阵

mvp矩阵实际上就是:<投影矩阵>x<视图矩阵>x<模型矩阵>x<顶点坐标><canvas id="webgl" width="800px" height="600px"></canvas> <script> //vertex shader var VSHADER_SOURCE = ` attribute vec4 a_Position; .

2020-10-07 20:13:50 204

原创 webg的shader系列(2)——三角形、webgl2

1、画一个简单的三角形接着上节,只需要修改下面这行代码即可。webgl.drawArrays(webgl.TRIANGLES,0,3)最终代码 <canvas id="container" width="800px" height="600px"></canvas> <script> const canvas=document.getElementById('container') var VSHADER=

2020-10-07 15:52:52 68

原创 webgl入门系列(1)——画点

1、将画点写在顶点着色器里<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>点</title> <script src="base.js">&lt

2020-10-07 12:25:54 76

原创 使用gltf sdk创建多个gltf的mesh

gltf 的sdk地址这份代码的原始例子比较不好参考,创建一个三角形还比较好参考,创建多个三角形或者元素就有点懵。所以我做了个更通用的例子(即创建多个mesh)作为使用这个gltf sdk的样例。// Copyright (c) Microsoft Corporation. All rights reserved.// Licensed under the MIT License.#include <GLTFSDK/GLTF.h>#include <GLTFSDK/Buf

2020-09-10 20:13:00 211

原创 Archicad二次开发——三角剖分

Archicad的三角剖分的api用起来还是比较麻烦的。主要是API文档有问题,没有案例。这里给出一个样例:一下一个五角形,注意起点和终点是同一个点。最后打印的是顶点的索引。const double px[6] = { 0,1,3,4,2,0 }; const double py[6] = { 1,0,0,1,2,1 }; const double pz[6] = { 0,0,0,0,0,0 }; bool result; const short mask[

2020-09-10 15:45:13 71

原创 Archicad二次开发——创建辅助元素

1、创建线API_Element element;BNZeroMemory(&element, sizeof(API_Element));element.header.typeID = API_LineID;GSErrCode err = ACAPI_Element_GetDefaults(&element, nullptr);if (err != NoError) { ErrorBeep("ACAPI_Element_GetDefaults (Line)", err);

2020-09-04 11:41:26 65

原创 Archicad二次开发——创建墙、梁、柱等元素

1、创建直线墙 API_Element wallElement = {}; GSErrCode err; wallElement.header.typeID = API_ElemTypeID::API_WallID; ACAPI_Element_GetDefaults(&wallElement, nullptr); err = ACAPI_CallUndoableCommand("Create Element", [&]() -

2020-09-04 11:13:36 199

原创 Archicad二次开发——元素

1、获取指定元素Archicad通过guid获取指定元素获取guid的方法:在样例代码的browser control里可以获得选中构件的guid获取指定元素的样例: API_Element element; GSErrCode err; BNZeroMemory(&element, sizeof(API_Element)); element.header.guid = GSGuid2APIGuid(GS::Guid("BACF8F36-63

2020-09-04 09:39:42 165

原创 Archicad二次开发——开发环境配置

1、开发环境Visual Studio2017安装开发工具包,并把开发工具包放在d:\Documents\Visual Studio 2017\Templates\ProjectTemplates2、字符节使用多字节符集,以便支持中文3、调试里的命令指向Archicad的程序位置D:\Program Files\GRAPHISOFT\ARCHICAD 24\ARCHICAD.exe,命令参数-DEMO4、设置输出路径D:\Program Files\G...

2020-09-03 09:33:27 226

原创 Archicad二次开发——MessageBox、USstring转字符、打开保存文件的对话框获取选择的地址、获取文件信息

先吐槽一句,Archicad的二次开发实在太不友好(我技术太菜)。1、MessageBoxMessageBox(NULL, "message","title",0);2、USstring转字符archicad用的内部的数值类型,需要各种转换GS::UniString str = "test";MessageBox(NULL, str.ToCStr().Get(), "TEST", 0);3、打开保存文件的对话框获取选择的地址DG::FileDialog saveDialo

2020-09-02 18:25:04 122

原创 gltf生成线、连续的线、闭合线 ,生成网格

其中最关键的一句是:(这句的意思是创建连续的线) meshPrimitive.Mode = MeshPrimitive.ModeEnum.LINE_LOOP; static void Main(string[] args) { Gltf gltf = new Gltf(); Scene scene = new Scene(); scene.Name = "test"; ...

2020-07-29 22:57:12 263

原创 Open XML创建Word文档、写入段落、写入连续文本,并定义格式、在文档中插入表格

/// <summary> /// 创建word文档 /// </summary> /// <param name="filepath"></param> /// <param name="msg"></param> public static void CreateWordDoc(string filepath, string msg) ..

2020-06-08 09:30:01 200

原创 Open XML读取Excel一定范围内的值

1 读取Excel一定范围内的值时,指定起始行和终点行。 /// <summary> /// 读取指定范围内的Excel,指定起始行和终止行 /// </summary> /// <param name="filePath"></param> /// <param name="sheetName"></param> /// <par

2020-06-04 17:51:25 106 1

原创 Open XML 里写入List数据

思路:List数据转换成DataTable 然后将DataTable的行列写进Excel里第一步 将List数据转换成DataTable这里注意枚举值,如果不对枚举值进行转换,那么最后生成的数据是int类型的数据。private static System.Data.DataTable ToDataTable<T>(IList<T> data) { PropertyDescriptorCollection props =

2020-06-04 16:28:20 113

原创 Open XML读取Excel表格

1、读取特定行列的单元格private static void ReadExcel(string filePath,string sheetName,string colName,uint rowIndex) { using (SpreadsheetDocument spreadsheetDocument=SpreadsheetDocument.Open(filePath,false)) { Workboo

2020-06-04 09:17:34 134

原创 Open XML操作Excel——生成Excel、插入文本、删除单元格、插入公式、创建样式

Open XML 资料目前发现Open XML的SDK有两个版本,SDK2.0和SDK2.5。Open XML 2.0的帮助文档:https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2010/ff478153(v=office.14)Open XML 2.5的帮助文档:https://docs.microsoft.com/zh-cn/office/open-xml/spreadsheets安装O

2020-06-03 10:08:03 329

原创 加快github的clone速度

https://www.zhihu.com/question/276143842?sort=created亲测,其中用码云转存后,下载速度直接飙升到十几兆每秒,解决了多年github下载慢的问题。

2020-05-22 15:07:07 111

原创 计算机图形学学习资料及路线

1 Opengl的网络学习资料LearnOpengl英文网站:https://learnopengl.com/ LearnOpengl中文网站:https://learnopengl-cn.github.io/ 清华大学计算机图形学基础:https://www.bilibili.com/video/BV13441127CH 傅老师Opengl教程:https://www.bilibili.com/video/BV11W411N7b92 Opengl的书Opengl红宝书3 暂定的学习路线

2020-05-20 09:04:10 360 1

原创 利用gltfloader.dll或者SharpGLTF生成gltf、glb数据

1、gltf的资料官方教程快速上手详细教程2、gltf查看工具windows系统自带的3D查看器3、C#生成gltf\glb的类库3.1 官方的类库github地址首先看快速上手里的一个最简单的gltf样例{ "scenes" : [ { "nodes" : [ 0 ] } ], "nodes" : [ ...

2020-05-07 11:47:50 1213

原创 C++几何库——cgal编译

资源准备cgal安装包:https://www.cgal.org/download/windows.html或者github上的cgal:https://github.com/CGAL/cgal(如果用这个的话,还是需要安装cgal,因为这个项目依赖的gmp的库在安装包里是直接编译好的)cmake安装包:https://cmake.org/boost库:https://dl.bi...

2020-03-08 17:32:46 552

原创 BIM轻量化平台——Forge、BimFace、自研

曾经作为公司的评选人,对目前几个国内的轻量化平台做过评审,这其中就包含了Bimface,forge,pkpm,品铭等轻量化平台,另外也做过自研的平台。这里只挑选Forge,BimFace,自研这三个方向来讲。平台的比较1 Forge勿用置疑是最好,功能最强大的平台,revit文件直接上传,另外还可以做自动化设计,功能相当强大。显示效果也不错。但也有一个很大的缺陷,Forge不能本地...

2020-02-17 23:26:51 4415 5

原创 Docker的使用——mysql+phpadmin、tomcat+部署web项目、mongodb、nginx

1、mysql+phpadmin为了使用Navicat,这里选用了mysql5.6版。1.1 拉取镜像docker pull mysql:5.6docker pull phpmyadmin/phpmyadmin1.2 运行mysql和phpmyadmin/phpmyadmindocker run -itd --name mysql-test -p 3306:3306 -e...

2020-01-31 11:16:22 159

原创 Python读取FBX(解决Revit读取cad的问题)

FBX是Autodesk公司的一种通用三维格式,很多其他软件都是解析FBX,来导入Autodesk系列软件产品生产的图纸或者模型。FBX的SDK只有C++和Python的版本。鉴于我不会c++,所以我主要从Python入手。1、安装Pyhon语言的FBX的sdk。下载地址:https://www.autodesk.com/developer-network/platform-techn...

2019-12-15 21:13:43 2353 1

原创 离线部署Jenkins

公司网络要求比较严格,服务器(windows 服务器)必须是离线的,那Jenkins在线安装插件这条路就走不通了。然后看了官网,有两种方式解决:1)离线安装插件2)先在线安装好Jenkins,然后把插件复制过去。1、离线安装插件踩坑去https://plugins.jenkins.io/下载插件,发现插件下载困难,然后用了一下MSBuild插件,居然安装不了,坑得飞起,其实是...

2019-11-26 22:51:31 299

原创 解决Unable to import maven project: See logs for details的问题

找了一圈,最后意识到是Maven的版本原因,于是下载了maven的老版本,搞定!!!老版本的下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/

2019-11-10 00:53:30 1239

revit在桥梁中的应用建模篇(1)——T梁

revit在桥梁中的应用

2016-10-18

revit二次开发——普通钢筋(revitAPI钢筋部分帮助翻译)

revit二次开发——普通钢筋(revitAPI钢筋部分帮助翻译)

2016-10-28

revit在桥梁中的应用二次开发篇(2)——钢筋.docx

revit,桥梁,二次开发

2016-10-26

revit在桥梁中的应用二次开发(1)——族

revit,桥梁,二次开发

2016-10-26

Revit在桥梁中的应用建模篇(4)——普通钢

Revit在桥梁中的应用

2016-10-18

Revit在桥梁中的应用建模篇(3)——变截面

Revit在桥梁中的应用

2016-10-18

revit在桥梁中的应用建模篇(2)——箱梁

revit在桥梁中的应用建模篇

2016-10-18

Revit钢筋API使用技巧

Revit钢筋API使用技巧

2016-10-28

spring mvc项目

springmvc测试及配置

2019-01-21

Revit二次开发多版本环境终板

搭建Revit二次开发多版本环境。方便在多个版本中共用类,减少代码量以及工作量,方便代码管理。

2018-08-17

Revit二次开发多版本环境

搭建Revit二次开发多版本环境。方便在多个版本中共用类,减少代码量以及工作量,方便代码管理。

2018-08-17

设计模式之观察者模式

设计模式之观察者模式

2018-11-28

设计模式之工厂模式

设计模式之工厂模式

2018-11-29

设计模式之策略模式

设计模式中的策略模式。根据《设计模式》一书编写

2018-11-27

niuge8905的留言板

发表于 2020-01-02 最后回复 2020-05-06

空空如也

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

TA关注的人 TA的粉丝

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