很多站长朋友们都不太清楚php生成dxf文件,今天小编就来给大家整理php生成dxf文件,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 DXF格式文件数据提取 2、 PHP如何用header设置文件下载头!感谢~ 3、 dgn格式用什么软件转dwg或者dxf格式? DXF格式文件数据提取图元信息提取:
下面具体介绍该工程中读取的几种图元。
对图元信息的提取需要结合DXF参考手册以及库文件(主要涉及【dl_entities.h】和【dl_dxf.cpp】),选取实际所需数据进行自定义图元信息构造,比如说绘制二维平面图形,则不需要z轴坐标,此时只需要读取data中x,y值即可,而在绘制ARC时,需要考虑到OCS到WCS的变化,而库文件读取的data中没有涉及到拉伸方向的读取,所以此时需要对库文件进行一定修改,也主要是修改前面提及到的两个文件(这一点将在介绍绘制ARC时进行具体介绍)
首先在库文件【dl_entities.h】中可以看到每一种图元信息数据格式的定义,每一个数据代表的具体信息在【dl_dxf.cpp】中可以看到它的组码,再结合DXF参考手册,就可以理解数据含义并进行绘制。
【POINT】
void MyDXFReader::addPoint(const DL_PointData data)
{
}
点的构造非常简单,只需要data.x, data.y
【LINE】
void MyDXFReader::addLine(const DL_LineData data)
{
}
线的构造也非常简单,直接读取开始点和结束点,组成一条线,data.x1, data.y1; data.x2, data.y2
【CIRCLE】
void MyDXFReader::addCircle(const DL_CircleData data)
{
}
圆的构造需要圆心和半径。读取data.cx, data.cy,data.radius
【ELLIPSE】
void MyDXFReader::addEllipse(const DL_EllipseData data)
{
}
椭圆的构造需要中心点,相对于中心点的主轴点,起始角和终止角(非整椭圆)所以读取的参数有data.cx, data.cy,data.mx, data.my,data.angle1, data.angle2
【ARC】
void MyDXFReader::addArc(const DL_ArcData data)
{
}
圆弧所需数据主要有圆心,半径,起始角,终止角以及三个方向的拉伸方向值。因为其中心点是在OCS中表示的坐标值,而在绘制时应该使用WCS,所以此时需要根据拉伸方向进行坐标转换。对于拉伸方向的值原dxflib库并没有进行提取,直接认为使用的是默认值。所以需要自行在DL_ArcData构造函数和读取函数中进行值的添加。
【文档参考】
【OCS与WCS介绍】
;tid=667490highlight=trans
【OCS到WCS的具体转换】
文献:潘晓. 基于CAD图的提取运动控制信息方法的研究与实现[D]. 燕山大学, 2006.(重要)
参考上述文献中的算法就能够进行坐标的转换。
【POLYLINE 和 LWPOLYLINE】
void MyDXFReader::addPolyline(const DL_PolylineData data)
{
}
void MyDXFReader::addVertex(const DL_VertexData data)
{
}
在dxflib库中多段线图元和优化多段线图元均是通过这两者读出,首先在addPolyline(const DL_PolylineData data)中获得点数(data.number)和标志位(data.flags),其中点数表示了addVertex中的点数,而标志位则表示了该多段线的闭合。需要注意的是在读写LWPOLYLINE时所构成的点需要考虑点的凸度,如果凸度不为0,则需要进行弧的绘制。查看参考手册可知,此时也需要考虑坐标点OCS到WCS的转换。
【文档参考】
【DXF文件中将多段线凸度转换成圆弧】
【DIMENSION】
DXF文件中有多种标注。根据DXF参考手册可以为每种标注构造相应结构。标注的绘制主要是得到插入点与插入值,然后再结合标注点绘制出标注信息。
比如对齐标注。
void MyDXFReader:: addDimAlign(const DL_DimensionData data1,
const DL_DimAlignedData data2)
{
}
由DXF参考手册可知其标注插入点为data1.dpx, data1.dpy,插入值的中点为data1.mpx,data1.mpy。再由data2得到标注点信息data2.epx1, data2.epy1和data2.epx2, data2.epy2。再根据DXF参考手册该页面最下面提供给的标注图形参考,既可绘制出标注信息。其他几个标注类似于此进行添加。
【TEXT和MTEXT】
对于文本信息的添加,TEXT指单行文本,MTEXT指多行文本。在本工程中只读出了文本内容并显示在所指定处,并不设定其相应文本样式。下面简单介绍添加多行文本。
void MyDXFReader::addMText(const DL_MTextData data)
{
}
主要读取插入点data.ipx, data.ipy以及文本内容data.text。然后将文本显示在指定点附近。
【INSERT】
对于插入块的读取,需要借助于Block段的读取,即将所有的Block进行存储,在插入块时,遍历存储的Block,找到对应名字的块进行插入,因为块中的图元与实体段中的图元种类类似,所以本工程将实体段中的图元与块段中的图元进行分别存储,只有插入块的图元能够被绘制,而实体段中所有的图元都将被绘制。
void MyDXFReader::addInsert(const DL_InsertData data)
{
}
void MyDXFReader:: addBlock(const DL_BlockData data)
{
}
选取data.name,遍历存储的Block,找到需要插入的块。
PHP如何用header设置文件下载头!感谢~$filename = '文件路径';
//文件的类型
header('Content-type: application/pdf');
//下载显示的名字
header('Content-Disposition: attachment; filename="保存时的文件名.pdf"');
readfile("$filename");
exit;
附服务器响应HTTP的类型ContentType大全:
".*"="application/octet-stream"
".001"="application/x-001"
".301"="application/x-301"
".323"="text/h323"
".906"="application/x-906"
".907"="drawing/907"
".a11"="application/x-a11"
".acp"="audio/x-mei-aac"
".ai"="application/postscript"
".aif"="audio/aiff"
".aifc"="audio/aiff"
".aiff"="audio/aiff"
".anv"="application/x-anv"
".asa"="text/asa"
".asf"="video/x-ms-asf"
".asp"="text/asp"
".asx"="video/x-ms-asf"
".au"="audio/basic"
".avi"="video/avi"
".awf"="application/vnd.adobe.workflow"
".biz"="text/xml"
".bmp"="application/x-bmp"
".bot"="application/x-bot"
".c4t"="application/x-c4t"
".c90"="application/x-c90"
".cal"="application/x-cals"
".cat"="application/vnd.ms-pki.seccat"
".cdf"="application/x-netcdf"
".cdr"="application/x-cdr"
".cel"="application/x-cel"
".cer"="application/x-x509-ca-cert"
".cg4"="application/x-g4"
".cgm"="application/x-cgm"
".cit"="application/x-cit"
".class"="java/*"
".cml"="text/xml"
".cmp"="application/x-cmp"
".cmx"="application/x-cmx"
".cot"="application/x-cot"
".crl"="application/pkix-crl"
".crt"="application/x-x509-ca-cert"
".csi"="application/x-csi"
".css"="text/css"
".cut"="application/x-cut"
".dbf"="application/x-dbf"
".dbm"="application/x-dbm"
".dbx"="application/x-dbx"
".dcd"="text/xml"
".dcx"="application/x-dcx"
".der"="application/x-x509-ca-cert"
".dgn"="application/x-dgn"
".dib"="application/x-dib"
".dll"="application/x-msdownload"
".doc"="application/msword"
".dot"="application/msword"
".drw"="application/x-drw"
".dtd"="text/xml"
".dwf"="Model/vnd.dwf"
".dwf"="application/x-dwf"
".dwg"="application/x-dwg"
".dxb"="application/x-dxb"
".dxf"="application/x-dxf"
".edn"="application/vnd.adobe.edn"
".emf"="application/x-emf"
".eml"="message/rfc822"
".ent"="text/xml"
".epi"="application/x-epi"
".eps"="application/x-ps"
".eps"="application/postscript"
".etd"="application/x-ebx"
".exe"="application/x-msdownload"
".fax"="image/fax"
".fdf"="application/vnd.fdf"
".fif"="application/fractals"
".fo"="text/xml"
".frm"="application/x-frm"
".g4"="application/x-g4"
".gbr"="application/x-gbr"
".gcd"="application/x-gcd"
".gif"="image/gif"
".gl2"="application/x-gl2"
".gp4"="application/x-gp4"
".hgl"="application/x-hgl"
".hmr"="application/x-hmr"
".hpg"="application/x-hpgl"
".hpl"="application/x-hpl"
".hqx"="application/mac-binhex40"
".hrf"="application/x-hrf"
".hta"="application/hta"
".htc"="text/x-component"
".htm"="text/html"
".html"="text/html"
".htt"="text/webviewhtml"
".htx"="text/html"
".icb"="application/x-icb"
".ico"="image/x-icon"
".ico"="application/x-ico"
".iff"="application/x-iff"
".ig4"="application/x-g4"
".igs"="application/x-igs"
".iii"="application/x-iphone"
".img"="application/x-img"
".ins"="application/x-internet-signup"
".isp"="application/x-internet-signup"
".IVF"="video/x-ivf"
".java"="java/*"
".jfif"="image/jpeg"
".jpe"="image/jpeg"
".jpe"="application/x-jpe"
".jpeg"="image/jpeg"
".jpg"="image/jpeg"
".jpg"="application/x-jpg"
".js"="application/x-javascript"
".jsp"="text/html"
".la1"="audio/x-liquid-file"
".lar"="application/x-laplayer-reg"
".latex"="application/x-latex"
".lavs"="audio/x-liquid-secure"
".lbm"="application/x-lbm"
".lmsff"="audio/x-la-lms"
".ls"="application/x-javascript"
".ltr"="application/x-ltr"
".m1v"="video/x-mpeg"
".m2v"="video/x-mpeg"
".m3u"="audio/mpegurl"
".m4e"="video/mpeg4"
".mac"="application/x-mac"
".man"="application/x-troff-man"
".math"="text/xml"
".mdb"="application/msaccess"
".mdb"="application/x-mdb"
".mfp"="application/x-shockwave-flash"
".mht"="message/rfc822"
".mhtml"="message/rfc822"
".mi"="application/x-mi"
".mid"="audio/mid"
".midi"="audio/mid"
".mil"="application/x-mil"
".mml"="text/xml"
".mnd"="audio/x-musicnet-download"
".mns"="audio/x-musicnet-stream"
".mocha"="application/x-javascript"
".movie"="video/x-sgi-movie"
".mp1"="audio/mp1"
".mp2"="audio/mp2"
".mp2v"="video/mpeg"
".mp3"="audio/mp3"
".mp4"="video/mpeg4"
".mpa"="video/x-mpg"
".mpd"="application/vnd.ms-project"
".mpe"="video/x-mpeg"
".mpeg"="video/mpg"
".mpg"="video/mpg"
".mpga"="audio/rn-mpeg"
".mpp"="application/vnd.ms-project"
".mps"="video/x-mpeg"
".mpt"="application/vnd.ms-project"
".mpv"="video/mpg"
".mpv2"="video/mpeg"
".mpw"="application/vnd.ms-project"
".mpx"="application/vnd.ms-project"
".mtx"="text/xml"
".mxp"="application/x-mmxp"
".net"="image/pnetvue"
".nrf"="application/x-nrf"
".nws"="message/rfc822"
".odc"="text/x-ms-odc"
".out"="application/x-out"
".p10"="application/pkcs10"
".p12"="application/x-pkcs12"
".p7b"="application/x-pkcs7-certificates"
".p7c"="application/pkcs7-mime"
".p7m"="application/pkcs7-mime"
".p7r"="application/x-pkcs7-certreqresp"
".p7s"="application/pkcs7-signature"
".pc5"="application/x-pc5"
".pci"="application/x-pci"
".pcl"="application/x-pcl"
".pcx"="application/x-pcx"
".pdf"="application/pdf"
".pdf"="application/pdf"
".pdx"="application/vnd.adobe.pdx"
".pfx"="application/x-pkcs12"
".pgl"="application/x-pgl"
".pic"="application/x-pic"
".pko"="application/vnd.ms-pki.pko"
".pl"="application/x-perl"
".plg"="text/html"
".pls"="audio/scpls"
".plt"="application/x-plt"
".png"="image/png"
".png"="application/x-png"
".pot"="application/vnd.ms-powerpoint"
".ppa"="application/vnd.ms-powerpoint"
".ppm"="application/x-ppm"
".pps"="application/vnd.ms-powerpoint"
".ppt"="application/vnd.ms-powerpoint"
".ppt"="application/x-ppt"
".pr"="application/x-pr"
".prf"="application/pics-rules"
".prn"="application/x-prn"
".prt"="application/x-prt"
".ps"="application/x-ps"
".ps"="application/postscript"
".ptn"="application/x-ptn"
".pwz"="application/vnd.ms-powerpoint"
".r3t"="text/vnd.rn-realtext3d"
".ra"="audio/vnd.rn-realaudio"
".ram"="audio/x-pn-realaudio"
".ras"="application/x-ras"
".rat"="application/rat-file"
".rdf"="text/xml"
".rec"="application/vnd.rn-recording"
".red"="application/x-red"
".rgb"="application/x-rgb"
".rjs"="application/vnd.rn-realsystem-rjs"
".rjt"="application/vnd.rn-realsystem-rjt"
".rlc"="application/x-rlc"
".rle"="application/x-rle"
".rm"="application/vnd.rn-realmedia"
".rmf"="application/vnd.adobe.rmf"
".rmi"="audio/mid"
".rmj"="application/vnd.rn-realsystem-rmj"
".rmm"="audio/x-pn-realaudio"
".rmp"="application/vnd.rn-rn_music_package"
".rms"="application/vnd.rn-realmedia-secure"
".rmvb"="application/vnd.rn-realmedia-vbr"
".rmx"="application/vnd.rn-realsystem-rmx"
".rnx"="application/vnd.rn-realplayer"
".rp"="image/vnd.rn-realpix"
".rpm"="audio/x-pn-realaudio-plugin"
".rsml"="application/vnd.rn-rsml"
".rt"="text/vnd.rn-realtext"
".rtf"="application/msword"
".rtf"="application/x-rtf"
".rv"="video/vnd.rn-realvideo"
".sam"="application/x-sam"
".sat"="application/x-sat"
".sdp"="application/sdp"
".sdw"="application/x-sdw"
".sit"="application/x-stuffit"
".slb"="application/x-slb"
".sld"="application/x-sld"
".slk"="drawing/x-slk"
".smi"="application/smil"
".smil"="application/smil"
".smk"="application/x-smk"
".snd"="audio/basic"
".sol"="text/plain"
".sor"="text/plain"
".spc"="application/x-pkcs7-certificates"
".spl"="application/futuresplash"
".spp"="text/xml"
".ssm"="application/streamingmedia"
".sst"="application/vnd.ms-pki.certstore"
".stl"="application/vnd.ms-pki.stl"
".stm"="text/html"
".sty"="application/x-sty"
".svg"="text/xml"
".swf"="application/x-shockwave-flash"
".tdf"="application/x-tdf"
".tg4"="application/x-tg4"
".tga"="application/x-tga"
".tif"="image/tiff"
".tif"="application/x-tif"
".tiff"="image/tiff"
".tld"="text/xml"
".top"="drawing/x-top"
".torrent"="application/x-bittorrent"
".tsd"="text/xml"
".txt"="text/plain"
".uin"="application/x-icq"
".uls"="text/iuls"
".vcf"="text/x-vcard"
".vda"="application/x-vda"
".vdx"="application/vnd.visio"
".vml"="text/xml"
".vpg"="application/x-vpeg005"
".vsd"="application/vnd.visio"
".vsd"="application/x-vsd"
".vss"="application/vnd.visio"
".vst"="application/vnd.visio"
".vst"="application/x-vst"
".vsw"="application/vnd.visio"
".vsx"="application/vnd.visio"
".vtx"="application/vnd.visio"
".vxml"="text/xml"
".wav"="audio/wav"
".wax"="audio/x-ms-wax"
".wb1"="application/x-wb1"
".wb2"="application/x-wb2"
".wb3"="application/x-wb3"
".wbmp"="image/vnd.wap.wbmp"
".wiz"="application/msword"
".wk3"="application/x-wk3"
".wk4"="application/x-wk4"
".wkq"="application/x-wkq"
".wks"="application/x-wks"
".wm"="video/x-ms-wm"
".wma"="audio/x-ms-wma"
".wmd"="application/x-ms-wmd"
".wmf"="application/x-wmf"
".wml"="text/vnd.wap.wml"
".wmv"="video/x-ms-wmv"
".wmx"="video/x-ms-wmx"
".wmz"="application/x-ms-wmz"
".wp6"="application/x-wp6"
".wpd"="application/x-wpd"
".wpg"="application/x-wpg"
".wpl"="application/vnd.ms-wpl"
".wq1"="application/x-wq1"
".wr1"="application/x-wr1"
".wri"="application/x-wri"
".wrk"="application/x-wrk"
".ws"="application/x-ws"
".ws2"="application/x-ws"
".wsc"="text/scriptlet"
".wsdl"="text/xml"
".wvx"="video/x-ms-wvx"
".xdp"="application/vnd.adobe.xdp"
".xdr"="text/xml"
".xfd"="application/vnd.adobe.xfd"
".xfdf"="application/vnd.adobe.xfdf"
".xhtml"="text/html"
".xls"="application/vnd.ms-excel"
".xls"="application/x-xls"
".xlw"="application/x-xlw"
".xml"="text/xml"
".xpl"="audio/scpls"
".xq"="text/xml"
".xql"="text/xml"
".xquery"="text/xml"
".xsd"="text/xml"
".xsl"="text/xml"
".xslt"="text/xml"
".xwd"="application/x-xwd"
".x_b"="application/x-x_b"
".x_t"="application/x-x_t"
dgn格式用什么软件转dwg或者dxf格式?DWG是AutoCAD的矢量图形文件,使用AutoCADR12,AutoCADR14,AutoCAD 2000,AutoCAD2002试试。
DGN是MicroStation文件格式
如果你有AutoCAD Map 或是 AutoCAD LDT这两套软件(都是建筑业用的)
就可以用导入(File->import)的方式来汇入这样类型的档案,然后再来转存为dwg的格式
Autodesk Map 3D这个是建筑工程师用的(测量地标...etc)
Autodesk Land Desktop 2005这个"也是"建筑工程师用的(绘制施工图...etc)
其实这些软件我都不是很了解,因为我是机械系而不是建筑系的(毕竟隔行如隔山啊),我只用AutoCAD绘制工程图
如果都没有上述这些软件,那你可能就要去找MicroStation 来将档案另存为AutoCAD的dwg格式
最新版好像可以转存为AutoCAD2004格式的样子
你上电驴的网站上找找,那里一般都能找到的,
关于php生成dxf文件的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php生成dxf文件 php生成excel文件的详细内容...