123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package com.fdkankan.dxf.generate.model;
- import com.fdkankan.dxf.generate.Vector3;
- import com.fdkankan.dxf.generate.model.base.BaseDxfEntity;
- import com.fdkankan.dxf.generate.util.DxfLineBuilder;
- import lombok.Getter;
- import lombok.Setter;
- /**
- * 文字
- *
- * @author YTZJJ
- */
- @Getter
- @Setter
- public class DxfText extends BaseDxfEntity {
- /**
- * 不翻转
- */
- public static final int REVERSE_TYPE_NONE = 0;
- /**
- * 沿X轴方向镜像翻转
- */
- public static final int REVERSE_TYPE_X = 2;
- /**
- * 沿Y轴方向镜像翻转
- */
- public static final int REVERSE_TYPE_Y = 4;
- // public static final int ALIGN_HORIZONTAL_LEFT = 0;
- // public static final int ALIGN_HORIZONTAL_CENTER = 1;
- // public static final int ALIGN_HORIZONTAL_RIGHT = 2;
- // public static final int ALIGN_VERTICAL_BASE_LINE = 0;
- // public static final int ALIGN_VERTICAL_BASE_BOTTOM = 1;
- // public static final int ALIGN_VERTICAL_BASE_CENTER = 2;
- // public static final int ALIGN_VERTICAL_BASE_TOP = 3;
- /**
- * 文字的起始位置
- */
- private Vector3 startPoint;
- /**
- * 文字的高度
- */
- private double high = 0;
- /**
- * 文字的宽度
- */
- private int width = 1;
- /**
- * 文字内容
- */
- private String text;
- /**
- * 旋转角度
- */
- private double angle = 0;
- /**
- * 倾斜角度
- */
- private double inclination = 0;
- // private String textStyle = "标准";
- private int reverseType = REVERSE_TYPE_NONE;
- // 暂时不使用这两个属性
- // private int alignHorizontal = ALIGN_HORIZONTAL_LEFT;
- // private int alignVertical = ALIGN_VERTICAL_BASE_LINE;
- // 这个值暂时也没用,只有当上面两个属性使用的时候这个值才有使用的必要
- // private Vector3 endPoint;
- @Override
- protected String getChildDxfStr() {
- DxfLineBuilder lineBuilder = DxfLineBuilder.build().append(10, startPoint.getX()).append(20, startPoint.getY()).append(30, startPoint.getZ()).append(40, high).append(1, text);
- if (angle != 0) {
- lineBuilder.append(50, angle);
- }
- if (width != 1) {
- lineBuilder.append(41, width);
- }
- if (inclination != 0) {
- lineBuilder.append(51, inclination);
- }
- if (reverseType != REVERSE_TYPE_NONE) {
- lineBuilder.append(71, reverseType);
- }
- lineBuilder.append(100, getEntityClassName());
- return lineBuilder.toString();
- }
- @Override
- public String getEntityName() {
- return "TEXT";
- }
- @Override
- public String getEntityClassName() {
- return "AcDbText";
- }
- }
|