解决方案 | 获取所有的打印输出的图纸尺寸的名称GetCanonicalMediaNames返回为空的原因竟然是官方帮助文件给我带来了误导-CAD VBA
巨大的坑,该代码来自于acadauto_2014--AutoCAD2014 ActiveX Reference Guide.chm 但是存在一个巨大的bug。
'获取所有的打印输出的图纸尺寸的名称 ,但是事前必须设置【打印机对象】也就是 Layouts("Model").ConfigName = "DWF Classic.pc3" 这样的代码,否则返回为空。
也就是说,必须先设置打印机,才能知道可打印图纸的尺寸。这个逻辑才是对的。这里是采用的vba ,其他的语言比如Python也是一样的
Sub Example_GetCanonicalMediaNames() '获取所有的打印输出的图纸尺寸的名称 ,但是事前必须设置【打印机对象】也就是 Layouts("Model").ConfigName = "DWF Classic.pc3" 这样的代码,否则返回为空
' This example gets the current plot device information
' and then displays the list of plot device names,
' media names, localized media names, and plot style
' table entries.
Dim Layout As ACADLayout
Set Layout = ThisDrawing.ModelSpace.Layout
' Refresh the current plot information for
' this session.
Layout.RefreshPlotDeviceInfo
' List all the valid device names for the system
Dim plotDevices As Variant
plotDevices = Layout.GetPlotDeviceNames()
Dim x As Integer
For x = LBound(plotDevices) To UBound(plotDevices)
MsgBox plotDevices(x)
Next
' List all the media names, and their localized version
Dim mediaNames As Variant
mediaNames = Layout.GetCanonicalMediaNames()
For x = LBound(mediaNames) To UBound(mediaNames)
MsgBox mediaNames(x)
MsgBox Layout.GetLocaleMediaName(mediaNames(x))
Next
' List all the entries in the plot style table
Dim styleNames As Variant
styleNames = Layout.GetPlotStyleTableNames()
For x = LBound(styleNames) To UBound(styleNames)
MsgBox styleNames(x)
Next
End Sub
解决方案 | 获取所有的打印输出的图纸尺寸的名称GetCanonicalMediaNames返回为空的原因竟然是官方帮助文件给我带来了误导-CAD VBA的更多相关文章
- IOS获取物理尺寸中7Plus中获取的是7的物理尺寸
IOS获取物理尺寸中7Plus中获取的是7的物理尺寸: 在开发调试过程中我的7Plus手机获取[uiscreen mainscreen].bounds为750 .1334. 解决方案:在手机中的显示 ...
- 解决方案:c调用python,PyImport_Import或者PyImport_ImportModule总是返回为空
下面c_python_utils.h是处理工具函数,test.cpp是测试程序,hello.py是python类 可是当我集成到项目中的时候,PyImport_Import总是返回为空,起初我以为是i ...
- 获取字典中values值中最大的数,返回对应的keys
1.字典中键值对的获取 print(data.values()) # 查看字典的值 print(data.keys()) # 查看字典的key 2.对字典中的值进行排序 sorted(data.val ...
- iOS中获取cell中webview的内容尺寸
最近项目中遇到在cell中获取webView的内容的尺寸的需求 实现的思路其实很简单 就是通过执行js 获取尺寸即可 为了后面用着方便我直接封装了一个HTML的cell 起名就叫 STHTMLBase ...
- js获取浏览器和元素对象的尺寸
1.屏幕尺寸 window.screen.height //屏幕分辨率的高 window.screen.width //屏幕分辨率的宽 window.screen.availHeight //屏幕可用 ...
- NX二次开发-UFUN读取图纸尺寸的值UF_DRF_ask_dimension_text
今天发现UF_DRF_ask_dim_info这个函数不能读带附件文本的尺寸,有附加文本dim_info->text_info->text->full_string;读出来的是附加文 ...
- NX二次开发-更改图纸尺寸内容(编辑文本)uc5566
#include <uf.h> #include <uf_drf.h> #include <uf_obj.h> #include <uf_part.h> ...
- jquery获取关于宽度和高度的尺寸问题
作者原创,转载请出名出处! console.log("可视区高度:"+$(window).height()); console.log("可视区宽度:"+$(w ...
- selenium相关:通过location 和 size 获取元素所在像素位置和尺寸,截取图片ROI
1.实验 #https://captcha.luosimao.com/demo/ chrome default: location 不滚动,直接返回相对整个html的坐标 {'x': 15.0, 'y ...
- ASP.NET MVC4应用程序无法建立控制器的解决方案/获取自己需要的EF版本
具体错误是我建立控制器的时候出现如下图那样的错误: Unable to cast object of type 'System.Data.Entity.Core.Objects.ObjectConte ...
随机推荐
- linux下使用fdisk进行磁盘分区详解
目录 一.前言 二.关于磁盘分区的结构 三.fdisk命令详解 四.使用fdisk进行磁盘分区 4.1 磁盘分区规划 4.2 fdisk进行磁盘分区 4.3 格式化分区 4.4 创建挂载点/挂载目录 ...
- nohup Command [ Arg … ] [ & ]
nohup 英文全称:no hang up 不挂断的意思.退出终端不挂断程序的运行.在默认的情况下,会输出一个名叫 nohup.out 的文件到当前目录下.nohup Command [ Arg - ...
- 将任意程序安装成windows服务
某些时候,一个程序控制台服务程序需要在系统启动的时候自动运行,这时候我们会想到采用windows服务的方式来实现 但是,如果程序本来不支持安装成服务的话,我就需要采用其他方案来实现 之前博主也遇到了类 ...
- C语言——函数基本知识
什么是函数 函数的定义 函数就是程序中独立的功能.(简单来说就是把代码打包成整体,起个名字,方便以后使用) 函数的使用 定义函数的格式 格式: 返回值类型 函数名(形参1,形参2,...) { 函数体 ...
- JavaSE 标签 break continue
*标签.break.continue 当需要结束多个循环后,则使用标签 label:for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ if(j==2) ...
- js数据类型的检查
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- react 属性绑定动态值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- System.lineSeparator()行分隔符的用法
System.lineSeparator()具体含义 从JDK的源码中,可以看出:它是从JDK1.7之后开始有的这个方法. 在UNIX系统下,System.lineSeparator()方法返回&qu ...
- jsp表单提交中的逻辑判断
针对于表单 通常情况下 我们都是表单提交 提交的路径为以下: 提交的按钮的type="submit" 当我们想在表单提交前增加一个逻辑判断 我们就需要把button中的typ ...
- work06
练习题:=============================================================第七题: 1.定义方法 isSXH(int num) 功能:判断数字n ...