User:Ali Haydar/GSOC19/project


Annotations: Implement more annotation support: labels, notes, and dimensions

The project is divided into three consepts:

  • extending the MGED and Archer commands to inculde the new annotation types:
  • calculating each type templet diemntions if nedded like the fields in the annotation box
  • drawing the new types in the wire frame view

extending the MGED and Archer comands to inculde the new annotation types

  • New types of annotaions :
    • dimention line
    • angular dimention
    • multible lables in multible fields box
    • lable in a box
    • single or multible line note in a box
  • the extending in mged will be like:

mged> in
Enter name of solid: annot_1
Enter solid type: annot
Enter annotation type : dimention line 
"sudo " 
Enter starting point of the dimention line 
Enter end point of the dimention line 
Enter dimentinon ( or the dimention can be calculated (this chois can be taken if the usuer wants to over ride the acutl dimention )
  • all the annotions types should be entered in the same annotaion primative so this will require modifications on the current primative
  • We can consider the same abrouch of manual annotions as an example in the multible field annotion the usuer will provide the number of fields and the lables or we can consider a spcific characteer like (@) when encounterd the program considers it the end of the field and the lable existed in it and the end of this lable vlist( this will help withe the calculation of the the field ( cell ) dimentions so the user enters all the lables in the same line.( this can be discused withe the socity) .
  • The leader lines will be constructed in correspondance with each type.
  • rendering each primative type in wire frame.

calculating each type diemntions if nedded like the fields in the annotation box

  • in the case of
  • The annotation primitive will comprise of various parameters that define the labels.
  • Here we are aiming for manual annotations. The parameters will be provided by the user through the command line. ”in” followed by various parameters some of which are:
    • Position
    • Text - leader line
    • Additional object reference name

Container for annotations