changyiran 发表于 2012-8-20 13:09:47

关于自动打印时不能居中的奇怪问题

本帖最后由 changyiran 于 2012-8-20 13:11 编辑

(defun c:pdf(/ );将点之记以pdf格式输出到指定文件夹
(setq szss(ssget"x"'((1 . "所在图幅"))));建立所在图幅选择集
(setq lcss(ssget"x"'((1 . "联测高程等级"))));建立联测高程等级选择集
(setq szx(cadr(assoc 10(entget(ssname szss 0))))szy(caddr(assoc 10(entget(ssname szss 0)))));求出所在图幅的x、y坐标
(setq lcx(cadr(assoc 10(entget(ssname lcss 0))))lcy(caddr(assoc 10(entget(ssname lcss 0)))));求出联测高程等级的x、y坐标
(setq zxj(strcat(rtos(- lcx 4.318))","(rtos(- lcy 23.349))));求出打印窗口的左下角点
(setq ysj(strcat(rtos(+ szx 73.351))","(rtos(+ szy 23.131))));求出打印窗口的右上角点
(command "_.PLOT"
               "Y"            ;是否需要详细打印配置?[是(Y)/否(N)] <否>: y                        
               ""               ;输入布局名或 [?] <模型>:
               "Adobe PDF.pc3"      ;输入输出设备的名称或 [?]
               "a4"    ;输入图纸尺寸或 [?] <上一个图纸尺寸(2550.00 x 3300.00 像素)>:
      "M"            ;输入图纸单位 [英寸(I)/毫米(M)] <毫米>: p
               "p"            ;输入图形方向 [纵向(P)/横向(L)] <横向>:
               "N"            ;是否上下颠倒打印?[是(Y)/否(N)] <否>:               
               "W"            ;输入打印区域 [显示(D)/范围(E)/图形界限(L)/视图(V)/窗口(W)] <范围>:
    zxj      ;左下角坐标
    ysj    ;右上角坐标
               "1=1"            ;输入打印比例 (打印的 毫米=图形单位) 或 [布满(F)] <Fit>: fit
               "c"            ;输入打印偏移 (x,y) 或 [居中打印(C)] <0.00,0.00>: c
               "Y"            ;是否按样式打印?[是(Y)/否(N)] <是>:
    "monochrome.ctb" ;输入打印样式表名称或 [?] (输入 . 表示无) <hp5100.ctb>:
               "n"            ;是否打印线宽?[是(Y)/否(N)] <是>:
               "A"            ;输入着色打印设置 [按显示(A)/线框(W)/隐藏(H)/视觉样式(V)/渲染(R)] <按显示>:
         ""            ;输入文件名 <Drawing1-Model.jpg>:
               "n"            ;是否保存对页面设置的修改 [是(Y)/否(N)]?
               "y"            ;是否继续打印?[是(Y)/否(N)] <Y>:
)
;(command"qsave""close")
)
用该代码运行时,提示未知命令“Y”。按 F1 查看帮助。
未知命令“MONOCHROME.CTB”。按 F1 查看帮助。
未知命令“N”。按 F1 查看帮助。
未知命令“A”。按 F1 查看帮助。
未知命令“PDF”。按 F1 查看帮助。
未知命令“N”。按 F1 查看帮助。
未知命令“Y”。按 F1 查看帮助,但如果把其中的居中选项"c"换成"",就能顺利输出pdf图片,但是图片不是居中的,有哪位高手指教一下为什么不能居中打印?

305341043 发表于 2018-11-1 15:06:44

305341043 发表于 2018-11-1 15:05
6年后的今天(20181101)测试这段程序时,发现用不了谁能改进下,各位路过的大侠

主要是有时居中,有时不居中,不稳定

305341043 发表于 2018-11-1 15:05:51

6年后的今天(20181101)测试这段程序时,发现用不了谁能改进下,各位路过的大侠

libo2000 发表于 2012-8-20 13:51:40

本帖最后由 libo2000 于 2012-8-20 13:54 编辑

试试坐标点zxj,ysj 是否为空。
打印到文件输入“N”而不是“”

changyiran 发表于 2012-8-20 14:05:17

libo2000 发表于 2012-8-20 13:51试试坐标点zxj,ysj 是否为空。打印到文件输入“N”而不是“”

都不为空,就是将居中的c换成空就能正常输出了,但是不输入c的话又不居中,让我很是郁闷!

libo2000 发表于 2012-8-20 14:09:28


(setq zxj (list (- lcx 4.318) (- lcy 23.349)))
(setq yxj (list (+ szx 73.351) (+ szy 23.131)))

libo2000 发表于 2012-8-20 14:10:02

你那个不是点,居中cad无法判断居中点在哪里

changyiran 发表于 2012-8-20 14:43:42

libo2000 发表于 2012-8-20 14:10你那个不是点,居中cad无法判断居中点在哪里

还是不行啊,问题还是出在那个c上面,我就纳闷了,在打印设置里就可以居中,用程序就不行。

libo2000 发表于 2012-8-20 14:57:10

changyiran 发表于 2012-8-20 14:43 static/image/common/back.gif
还是不行啊,问题还是出在那个c上面,我就纳闷了,在打印设置里就可以居中,用程序就不行。

我试了下,可以正常打印啊。
看看A4打印图纸尺寸有没有。先配置下默认打印机,在c:pdf

changyiran 发表于 2012-8-20 15:06:25

libo2000 发表于 2012-8-20 14:57我试了下,可以正常打印啊。看看A4打印图纸尺寸有没有。先配置下默认打印机,在c:pdf

打印机配置应该没问题,因为如果手动打印就可以实现程序里要求的居中打印,但用程序就不行,所有设置明明都一样。还有为什么在程序里把居中那一项改成空就行了呢?

changyiran 发表于 2012-8-20 18:05:22

现在可以确定是电脑的原因,因为换了个电脑就能居中了,只是不明白是何种问题?

longer1000 发表于 2012-8-21 18:06:31

电脑的原因啊,不懂
页: [1] 2
查看完整版本: 关于自动打印时不能居中的奇怪问题